Riding point determination method and device, storage medium and electronic equipment

By screening and analyzing the ride points in the historical order data and using distribution parameters to determine the recommended ride points, the problems of low service efficiency and poor quality in the existing technology are solved, and the efficiency and quality of online ride-hailing services are improved.

CN119249010APending Publication Date: 2025-01-03CHINA AUTOMOTIVE INNOVATION CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411387201.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

The existing technology cannot effectively use order data to provide passengers with recommended boarding and drop-off points, resulting in low efficiency and poor quality of online ride-hailing services.

Method used

By obtaining historical order data, selecting designated types of ride points in the current area, using distribution parameters to determine recommended ride points, and providing them to different services to improve service optimization efficiency.

Benefits of technology

Using big data technology to analyze historical order data, provide optional recommended rides, improving the efficiency and quality of online ride-hailing services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119249010A_ABST
    Figure CN119249010A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a riding point determination method and device, a storage medium and electronic equipment, and the method comprises the steps: obtaining a plurality of pieces of historical order data; each piece of historical order data in the plurality of pieces of historical order data is used for recording a historical riding point of a passenger, and the historical riding points recorded by each piece of historical order data comprise a historical getting-on point and a historical getting-off point; screening out a specified type of riding points in the current area from a plurality of historical riding points recorded by the plurality of pieces of historical order data to obtain a target riding point set; the specified type of riding point is a get-on point or a get-off point; determining a plurality of recommended riding points based on the distribution parameters of the target riding point set; the plurality of recommended riding points are used for providing selectable riding points for different businesses, the distribution parameters of the target riding point set are used for describing the distribution condition of the target riding point set in the current area, and the problems of low service efficiency and poor quality in related technologies are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of intelligent transportation technology, and more specifically, to a method, device, storage medium and electronic device for determining a boarding point. Background Art

[0002] With the popularity of online ride-hailing services and the increase in the number of users, the amount of order data has grown exponentially. Order data covers key information such as passengers' boarding and alighting locations, ride time, and ride distance, and has become valuable information for optimizing online ride-hailing services. At present, relevant technologies are based on a large amount of order data, using data analysis and mining technology to deeply understand users' travel habits and travel needs.

[0003] However, the relevant technology is unable to utilize the key information in the order data to provide passengers with recommended boarding and alighting points, and is unable to provide strong support for service optimization in the online car-hailing industry, which in turn leads to problems of low service efficiency and poor quality. Summary of the invention

[0004] The embodiments of the present application provide a method, device, storage medium and electronic device for determining a boarding point, so as to at least solve the problems of low efficiency and poor service quality existing in the method for determining a boarding point in the related art.

[0005] According to one aspect of the present application, a method for determining a boarding point is provided, comprising: acquiring a plurality of historical order data; each of the plurality of historical order data is used to record a historical boarding point of a passenger, and the historical boarding points recorded by each of the historical order data include a historical boarding point and a historical alighting point; screening out boarding points of a specified type located in a current area from the plurality of historical boarding points recorded by the plurality of historical order data to obtain a target boarding point set; the boarding point of the specified type is a boarding point or an alighting point; based on the distribution parameters of the target boarding point set, determining a plurality of recommended boarding points; the plurality of recommended boarding points are used to provide selectable boarding points for different services, and the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area.

[0006] According to another aspect of the present application, a device for determining a boarding point is provided, comprising: an order acquisition module, for acquiring a plurality of historical order data; each of the plurality of historical order data is used to record a passenger's historical boarding points, and the historical boarding points recorded by each of the historical order data include historical boarding points and historical alighting points; a screening module, for screening out boarding points of a specified type located in a current area from the plurality of historical boarding points recorded by the plurality of historical order data, to obtain a target boarding point set; the boarding points of the specified type are boarding points or alighting points; a recommendation module, for determining a plurality of recommended boarding points based on distribution parameters of the target boarding point set; the plurality of recommended boarding points are used to provide selectable boarding points for different services, and the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area.

[0007] According to another aspect of the embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned method for determining the boarding point when it is run.

[0008] According to another aspect of an embodiment of the present application, there is also provided an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the method for determining the boarding point through the computer program.

[0009] According to another embodiment of the present application, a computer program product is also provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above-mentioned embodiments of the method for determining the boarding point are implemented.

[0010] Through the embodiments of the present application, a specified type of boarding points located in the current area are screened out from multiple historical boarding points recorded in multiple historical order data to obtain a target boarding point set, and based on the distribution parameters of the target boarding point set, multiple recommended boarding points are determined. The above process uses big data technology to analyze and mine the historical boarding points recorded in the historical order data, and can provide optional recommended boarding points for different businesses based on the historical order data, provide strong support for service optimization in the online car-hailing industry, and thus solve the problems of low efficiency and poor quality of services in related technologies. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 It is a hardware structure block diagram of an optional method for determining a boarding point in an embodiment of the present application;

[0012] Figure 2 is a flow chart of an optional method for determining a boarding point according to an embodiment of the present application;

[0013] Figure 3 is an optional flowchart of processing historical order data according to an embodiment of the present application;

[0014] Figure 4 is a technical structure diagram of an optional server according to an embodiment of the present application;

[0015] Figure 5 is a schematic diagram of optional resolutions corresponding to different grid levels according to an embodiment of the present application;

[0016] Figure 6 is a schematic diagram of an optional physical space divided into different grid levels according to an embodiment of the present application;

[0017] Figure 7 is a schematic diagram of an index format of an optional index table according to an embodiment of the present application;

[0018] Figure 8 is a schematic diagram of the structure of an optional data warehouse according to an embodiment of the present application;

[0019] Fig. 9 is a distribution diagram of an optional target boarding point set at the second level according to an embodiment of the present application;

[0020] Fig.10 is a schematic diagram of a grid distance range in which a target boarding point exists in an optional N grid distance ranges according to an embodiment of the present application;

[0021] Fig.11 is a structural block diagram of an optional device for determining a boarding point according to an embodiment of the present application;

[0022] Fig.12 It is a structural block diagram of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0023] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0024] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0025] According to one aspect of an embodiment of the present application, a method for determining a boarding point is provided. Optionally, in this embodiment, the above-mentioned method for determining a boarding point can be applied to Figure 1 In the hardware environment composed of the terminal device 102 and the server 104 shown in FIG. Figure 1 As shown, the server 104 is connected to the terminal device 102 via a network, and can be used to provide services (such as application services, etc.) for the terminal or a client installed on the terminal. A database can be set on the server or independently of the server to provide data storage services for the server 104. Cloud computing and / or edge computing services can be configured on the server or independently of the server to provide data computing services for the server 104.

[0026] The network may include but is not limited to at least one of the following: wired network, wireless network. The wired network may include but is not limited to at least one of the following: wide area network, metropolitan area network, local area network, and the wireless network may include but is not limited to at least one of the following: WIFI, Bluetooth. The terminal device 102 may not be limited to a PC, a mobile phone, a tablet computer, or other devices.

[0027] The method for determining the boarding point in the embodiment of the present application can be executed by the server 104, or can be executed by the server 104 and the terminal device 102 together. Taking the method for determining the boarding point in the embodiment executed by the server 104 as an example, Figure 2 is a flow chart of an optional method for determining a boarding point according to an embodiment of the present application, such as Figure 2 As shown, the process of the method may include the following steps:

[0028] Step S202, obtaining multiple historical order data; each of the multiple historical order data is used to record a passenger's historical boarding point, and the historical boarding points recorded in each historical order data include a historical boarding point and a historical alighting point.

[0029] Among them, historical order data refers to the collection of all order information completed by passengers through a certain transportation service (such as online car-hailing, taxi, public transportation, etc.) in the past period of time. In modern urban transportation, online car-hailing has become an increasingly popular way of travel. The popularity of mobile Internet has led to more and more people using smartphones, which have positioning functions and can accurately obtain users' location information. The continuous advancement of positioning technology, such as the Global Positioning System (GPS), base station positioning, Wi-Fi positioning, etc., obtains accurate user positioning information through the positioning function of smartphones. When users use online car-hailing services, they will place orders through mobile APP or websites. These order data will be recorded to form historical order data, and contain key information such as the travel details of passengers, such as the user's travel trajectory, ride time, boarding and alighting locations, and ride distance. Historical order data is of great significance for analyzing passengers' travel habits, optimizing transportation services, and evaluating service quality. Based on a large amount of historical order data, data analysis and mining technology can be used to deeply understand users' travel habits and travel needs. By analyzing the user's travel time, common boarding and alighting locations, travel distance and other information in historical order data, we can depict the user's travel characteristics, such as office workers' peak travel hours, business people's designated pick-up and drop-off, and tourists' visit to tourist attractions.

[0030] Historical boarding points refer to the starting and ending locations of passengers in historical order data. Specifically, historical boarding points include the places where passengers board the bus (i.e. historical boarding points) and the places where passengers get off the bus (i.e. historical getting off points). Historical boarding points and historical getting off points are collectively referred to as points of interest (POI points). These two points together constitute the starting and ending points of a passenger's complete travel journey, recording the passenger's travel path and destination information.

[0031] The historical boarding point is the specific boarding location among the historical boarding points, that is, the location where the passenger actually starts to take the transportation.

[0032] The historical drop-off point is the final drop-off location selected by the passenger in the historical order, that is, the location where the passenger ends his or her ride on the transportation.

[0033] Optionally, the server collects a large amount of historical order data in a certain place through various transportation services (such as online car-hailing, taxis, public transportation, etc.), uses CDH to build a distributed big data processing platform Hadoop, and saves multiple historical order data to the storage system HDFS in the big data processing platform Hadoop.

[0034] In some embodiments, Figure 3 FIG. 1 is a flowchart of processing historical order data in one embodiment. Figure 3As shown in the figure, it specifically includes four steps: data collection, data cleaning, data mining and data evaluation. The server collects POI data through online car-hailing, and stores the data in a distributed file system through real-time data; the data is stored in a data warehouse, and the data is layered according to data warehouse theory; the data is cleaned according to outliers and other situations to improve data quality; a distributed computing engine is used to analyze massive historical order data, and the results are stored in a data warehouse; the data results are evaluated and optimized to obtain the final recommended ride points.

[0035] Figure 4 The technical structure diagram of the server in one embodiment is as follows. In order to process a large amount of historical order data, Figure 4 As shown, the client data is persisted to the distributed file system through the message queue, and then the data is mined through the distributed computing engine. Finally, the results are evaluated and analyzed to obtain recommended riding points.

[0036] CDH is a powerful, stable and reliable big data solution suitable for enterprises of all sizes, helping them to better process and analyze massive data and meet the data processing needs of enterprises of different sizes and needs. CDH integrates the core elements of Hadoop, including scalable storage and distributed computing, and provides a web-based user interface and enterprise functions. In addition, CDH also provides tools such as Cloudera Navigator Optimizer for visual coordination and optimization and improving operational efficiency. CDH's visual interface makes it easy for users to manage, configure and monitor Hadoop and other related components, and has fault-tolerant and disaster-tolerant processing capabilities, while providing role-based access control security management.

[0037] In some embodiments, the big data platform Hadoop is an open source distributed computing framework designed to process large amounts of data in an efficient, reliable and scalable manner. It can process data in a distributed manner in a computer cluster while ensuring high reliability, high scalability, high efficiency and high fault tolerance. Hadoop has a relatively low cost of use and supports applications written in multiple programming languages. It is a flexible and powerful tool suitable for developing and running applications that process massive amounts of data.

[0038] In some embodiments, the storage system HDFS refers to the Hadoop Distributed File System, which is one of the core components of the Hadoop framework and provides large-scale data storage and management capabilities with high reliability, high availability, and high throughput.

[0039] In some embodiments, Spark, as a fast and general big data processing engine, supports multiple data formats, such as Parquet, Avro, JSON, CSV, etc., and can process data in different formats directly in Spark without converting them into a unified format. At the same time, Spark can efficiently read and process various types of data sources through technologies such as parallel processing and in-memory computing, ensuring high performance and low latency in data processing.

[0040] In some embodiments, the HBase distributed database is a distributed, scalable big data storage system; the HBase distributed database can handle high-throughput data access requests and is suitable for application scenarios that require fast reading and writing of large amounts of data. It is very suitable for processing the data boarding and alighting point comparison task in the present invention, and the HBase distributed database can be seamlessly integrated with the Hadoop ecosystem.

[0041] Step S204, selecting a designated type of boarding points located in the current area from a plurality of historical boarding points recorded in a plurality of historical order data to obtain a target boarding point set; the designated type of boarding points are boarding points or alighting points.

[0042] The current area refers to a geographical range or boundary set when screening boarding points. The current area can be a specific area in a city (such as a business district, residential area, etc.), or a larger area defined according to certain conditions (such as distance, administrative division, etc.). The current area is set to limit the scope of screening and ensure that only boarding points located in the area are selected, which is used to analyze the travel habits of passengers in a specific area and evaluate the coverage of transportation services in the area.

[0043] The specified type refers to the classification of the boarding points that are required to be met when screening the boarding points. For example, the specified type of boarding point is a pick-up point or alighting point, that is, the screening process will only focus on the pick-up points or alighting points in the current area.

[0044] The target boarding point set refers to a set of boarding points selected from multiple historical boarding points recorded in multiple historical order data through a series of screening conditions (located in the current area and meeting the specified type, i.e., pick-up point or drop-off point). It can be understood that the target boarding point set is a set containing multiple target boarding points. Each target boarding point is an element in the set. The target boarding point refers to the passenger boarding point and drop-off point located in the current area.

[0045] Optionally, the server splits each of the multiple historical order data into boarding records and alighting records, unifies the longitudes and latitudes of different coordinate systems as default national standard values, filters out dirty data in the historical order data, obtains preprocessed historical order data, and extracts multiple historical boarding points recorded in all historical order data; the server excludes the boarding points that are not in the current area from the multiple historical boarding points based on the range limit of the current area; then, based on the attribute requirements of the specified type, further screens out the boarding points that meet the boarding point or alighting point conditions, and finally obtains the target boarding point set.

[0046] Step S206, based on the distribution parameters of the target boarding point set, multiple recommended boarding points are determined; the multiple recommended boarding points are used to provide optional boarding points for different services, and the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area.

[0047] The distribution parameters are numerical values ​​or variables used to describe the distribution characteristics (such as density, central tendency, degree of dispersion, etc.) of the target boarding points (i.e., the set of places where passengers want to arrive or depart) in the current area. The distribution parameters can quantitatively reflect the characteristics of the target boarding point set, such as aggregation, dispersion, and morphology. For example, these distribution parameters include the number, location, density, coverage, central location (such as average coordinates), degree of dispersion (such as standard deviation or variance), etc. of the boarding points.

[0048] Recommended pick-up points are the recommended pick-up points and drop-off points that are considered to be the most suitable or convenient for specific users or business scenarios, which are selected from all the pick-up points in the current area based on certain algorithms or rules. For example, for short-distance trips that require quick connections, the recommended pick-up points may be close to transportation hubs or high-density residential areas; for long-distance trips, points along major roads or near highway entrances may be selected. Based on certain algorithms or rules, the pick-up points and drop-off points that meet the requirements are selected from all the pick-up points and drop-off points in the current area as recommended pick-up points.

[0049] Optionally, the server determines distribution parameters of the target boarding point set in the current area, and based on the distribution parameters, selects a plurality of eligible boarding points and alighting points from the target boarding point set as recommended boarding points.

[0050] In some embodiments, by analyzing historical boarding point data, high-frequency and high-density boarding points can be identified as recommendation candidates.

[0051] In some embodiments, the user's travel habits, such as frequently used boarding points, preferred time periods, etc., can also be analyzed based on the user's historical riding records, travel preferences and other data, so as to recommend a boarding point that is more in line with the user's habits.

[0052] Through the above steps S202 to S206, the specified type of boarding points located in the current area are screened out from the multiple historical boarding points recorded in the multiple historical order data to obtain a target boarding point set, and based on the distribution parameters of the target boarding point set, multiple recommended boarding points are determined. The above process uses big data technology to analyze and mine the historical boarding points recorded in the historical order data, and can provide optional recommended boarding points for different businesses based on the historical order data, provide strong support for service optimization in the online car-hailing industry, and thus solve the problems of low efficiency and poor quality of services in related technologies.

[0053] In an exemplary embodiment, a designated type of ride points located in a current area are selected from historical ride points recorded in a plurality of historical order data to obtain a target ride point set, including:

[0054] 1. Obtain an index table established for each of the multiple historical boarding points; the index table corresponding to each historical boarding point is used to represent the grid coordinates of each historical boarding point at different grid levels.

[0055] The grid level refers to the different levels or resolutions used when dividing the physical space into grid systems of different sizes and precisions. Usually, the grids of the lower levels (such as the first level) cover the entire study area, but the resolution is lower (that is, each grid covers a larger geographical area). As the level increases, the resolution of the grid gradually increases, that is, the geographical area covered by each grid becomes smaller, and the details in the physical space can be more accurately represented.

[0056] For example, in order to effectively identify and recommend reasonable boarding and alighting points, Uber's H3 system is used for analysis, which is used to analyze physical space data and can efficiently process and analyze geographic information. The H3 system divides the earth's surface into regular hexagonal grids, providing an efficient encoding method for physical space data at different levels. Figure 5 is a schematic diagram of resolutions corresponding to different grid levels in one embodiment, such as Figure 5 As shown, the H3 system divides the physical space into fifteen levels, and each grid level corresponds to a different resolution. Figure 6 FIG. 1 is a schematic diagram of dividing the physical space according to different grid levels in an embodiment. Figure 6 As shown, the ten-level grid obtained by dividing the physical space according to the ten-level grid level in the H3 system can be expressed as an H3-10 grid, and the fourteen-level grid obtained by dividing the physical space according to the fourteen-level grid level can be expressed as an H3-14 grid, wherein the area of ​​the H3-10 grid is 1500 square meters, the area of ​​the H3-14 grid is 6.3 square meters, and one H3-10 grid contains 2401 H3-14 grids.

[0057] Grid coordinates are a set of values ​​used to uniquely identify a grid location in a grid system at a specific grid level. Grid coordinates are usually based on some form of spatial division (such as longitude and latitude, row and column numbers, etc.), and as the grid level changes, the same geographic location may correspond to different grid coordinates. Grid coordinates are key information in the index table for quickly locating the location of historical ride points. For example, in the H3 system, grid coordinates are represented by a unique H3 index, which is a string of numbers and letters that uniquely identifies each hexagonal grid worldwide.

[0058] The index table is a data structure used to store pointers to the geographic location information of historical ride points, as well as the grid coordinates of historical ride points at different grid levels. The index table is designed to speed up the data retrieval process by reducing the amount of data that needs to be searched. The index table corresponding to each historical ride point only needs to be created once, and it also supports real-time updates. Figure 7 FIG. 1 is a schematic diagram of an index format of an index table in an embodiment, such as Figure 7 As shown, when creating an HBase index table through the API, the coordinate point corresponding to each of the multiple historical boarding points is traversed, and the coordinate point is used as the rowkey (row key). The grid coordinates corresponding to the coordinate point at different grid levels (such as the H3 value at different grid levels) are inserted into the index table as the value of the specific column family to obtain the index table corresponding to each historical boarding point. For example, when querying data through the index table, first construct the corresponding rowkey based on the longitude and latitude of the historical boarding point, obtain the value of the point in the 14-level grid based on the rowkey, and obtain all POI points in the H3-14 grid through the index and HBase scanning method.

[0059] Optionally, after extracting the historical boarding points in the historical order data, the server converts the longitude and latitude coordinates of each historical boarding point into grid coordinates at different grid levels, and creates a corresponding index table according to the grid coordinates of each historical boarding point at different grid levels, and stores the index table in the storage system. When screening boarding points located in the current area, the pre-established index table is recalled from the storage system.

[0060] 2. Based on the index table corresponding to each historical boarding point, determine the boarding points of the specified type located in the current area to obtain a target boarding point set; the current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level.

[0061] The first grid level refers to a specific resolution used when dividing the physical space, and is used to describe a specific level used in the grid division system. For example, the first grid level may be a level corresponding to the ten-level grid in the H3 system.

[0062] The first grid refers to a specific grid unit obtained by dividing the physical space according to the first grid level. For example, under the premise that the first grid level is the level corresponding to the ten-level grid in the H3 system, the first grid is a specific hexagonal grid under the ten-level grid level. Each first grid has a unique identifier (such as a grid ID) and a corresponding geographic location range (such as a latitude and longitude range).

[0063] The current area, in the above embodiment, refers to a geographical range or boundary set when screening the boarding points. In this embodiment, the scope of the current area is further limited, that is, the current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level.

[0064] Optionally, the server constructs a corresponding rowkey according to the longitude and latitude corresponding to each historical boarding point, determines the first grid where each historical boarding point is located according to the rowkey corresponding to each historical boarding point, and extracts the historical boarding points in the current area through the index and HBase scanning method, and determines the historical boarding points and historical alighting points in the current area as boarding points of a specified type located in the current area, thereby obtaining a target boarding point set.

[0065] Through this embodiment, based on the index table corresponding to each historical boarding point, the boarding points of a specified type located in the current area can be quickly determined from multiple historical boarding points to obtain a target boarding point set, thereby improving data query efficiency.

[0066] In an exemplary embodiment, a method for constructing an index table corresponding to each historical ride point includes the following steps:

[0067] 1. Determine a first grid where each historical boarding point is located in a set of first grids, and determine a second grid where each historical boarding point is located in a set of second grids; a set of second grids is a set of grids obtained by dividing the physical space according to a second grid level, and a resolution of the first grid level is smaller than a resolution of the second grid level.

[0068] The second grid level refers to a specific resolution used when dividing the physical space, and the resolution of the first grid level is smaller than that of the second grid level, which means that the division of the first grid is relatively coarse, and each first grid covers a larger geographical range, while the division of the second grid is finer, and each grid covers a smaller geographical range. For example, the first grid level can be the level corresponding to the tenth level grid in the H3 system, and the second grid level can be the level corresponding to the fourteenth level grid in the H3 system. An H3-10 grid contains 2401 H3-14 grids.

[0069] The second grid refers to a specific grid unit obtained by dividing the physical space according to the second grid level. For example, under the premise that the second grid level is the level corresponding to the fourteenth grid in the H3 system, the second grid is a specific hexagonal grid under the fourteenth grid level. Each second grid has a unique identifier (such as a grid ID) and a corresponding geographic location range (such as a latitude and longitude range).

[0070] Optionally, the server determines the first grid level and the second grid level, and divides the physical space into a group of first grids according to the determined first grid level, and divides the physical space into multiple second grids according to the determined second grid level. The server traverses each historical boarding point, compares the longitude and latitude information of the historical boarding point with the geographical location range of the first grid, determines the first grid where each historical boarding point is located, and records its grid ID. The server compares the longitude and latitude information of the historical boarding point with the geographical location range of the second grid, determines the second grid where each historical boarding point is located, and records its grid ID.

[0071] 2. Convert the boarding point coordinates of each historical boarding point into first grid coordinates under the first grid where each historical boarding point is located and into second grid coordinates under the second grid where each historical boarding point is located.

[0072] Among them, the boarding point coordinates refer to the specific location of the historical boarding point in the geographic space, usually expressed in longitude and latitude.

[0073] The first grid coordinates refer to the identifier or position index of the first grid where each historical ride point is located after the geographic space is divided according to the resolution of the first grid level. The first grid coordinates are relative to the first grid system and are used to indicate the relative position of the ride point in the first grid.

[0074] The second grid coordinates refer to the identifier or position index of the second grid where each historical ride point is located after the geographic space is divided according to the resolution of the second grid level. The second grid coordinates are relative to the second grid system and are used to indicate the relative position of the ride point in the second grid.

[0075] Optionally, the server obtains the boarding point coordinates of all historical boarding points that need to be converted, and calls the grid coordinate conversion function for each historical boarding point to convert the boarding point coordinates of each historical boarding point into the first grid coordinates under the first grid where each historical boarding point is located, and the second grid coordinates under the second grid where each historical boarding point is located.

[0076] 3. Based on the first grid coordinates corresponding to each historical boarding point and the second grid coordinates corresponding to each historical boarding point, an index table corresponding to each historical boarding point is established.

[0077] Optionally, the server designs the index table structure so that the index table structure includes the historical boarding point ID, the first grid coordinate and the second grid coordinate, and adds the first grid coordinate and the second grid coordinate corresponding to each boarding point to the index table to obtain an index table corresponding to each historical boarding point.

[0078] Through this embodiment, a distributed index is constructed in advance, and then the index is directly queried, which can improve data query efficiency. In addition, in the process of calculating the distribution parameters of the target boarding point set, traversing the entire data is avoided, thereby improving calculation efficiency.

[0079] In an exemplary embodiment, before determining a plurality of recommended boarding points based on the distribution parameters of the target boarding point set, the boarding point determination method further includes the following steps:

[0080] 1. Calculate the grid distance between any two target boarding points in the target boarding point set; the grid distance between the two target boarding points is the number of second grids between the second grids where the two target boarding points are located in a group of second grids, and a group of second grids is a group of grids obtained by dividing the physical space according to the second grid level, and the resolution of the first grid level is smaller than the resolution of the second grid level.

[0081] The target boarding point set is a set containing multiple target boarding points. Each target boarding point is an element in the set. The target boarding point refers to the passenger boarding point and alighting point located in the current area.

[0082] The grid distance between two target boarding points refers to the "distance" measured along the second grid system between the second grids where the two target boarding points are located. Specifically, it is the number of second grids between the center points of the second grids where the two target boarding points are located, rather than the straight-line distance between the two target boarding points. For example, assuming that there is a second grid level that divides the physical space into second grids with a side length of 1km, the coordinates of target boarding point A are (5.01km, 5.01km), then it is located in the second grid (5,5), and the coordinates of target boarding point B are (6.02km, 6.02km), then it is located in the grid (6,6). Therefore, the grid distance between A and B is 1 (because they are separated by one grid in the grid coordinate system).

[0083] Optionally, for each target boarding point in the target boarding point set, the server determines the second grid where each target boarding point is located and records the identifier of the second grid (such as the grid ID); for any two target boarding points in the set, the server calculates the number of second grids between the center points of the second grids where the two target boarding points are located according to the Distance method provided by Uber H3, and uses the number as the grid distance between the above two target boarding points.

[0084] In some embodiments, the server may extract multiple historical boarding points recorded in all historical order data through the data warehouse, and store the grid distance between two target boarding points through the data warehouse.

[0085] The data warehouse may be a Hive distributed data warehouse (a distributed data warehouse tool based on Hadoop), or an HBase distributed database (an open source, distributed, column-oriented NoSQL database), or a combination of the two.

[0086] Among them, the Hive distributed data warehouse can process PB-level data and can be horizontally expanded on the Hadoop cluster. This means that large-scale data sets can be easily processed and performance can be expanded as the amount of data grows. The Hive distributed data warehouse can be seamlessly integrated with other Hadoop ecosystem tools, such as Spark (a fast and general big data processing engine), HBase distributed database, etc., to achieve more complex data processing processes.

[0087] Figure 8 FIG. 1 is a schematic diagram of the structure of a data warehouse in an embodiment. Figure 8 As shown in the figure, the data warehouse is divided into six layers: ODS, DIM, DWD, DWT, DWM, and DA. Among them, the ODS layer (data access layer) uses the same H3-14 grid to cover the fields with empty place names in the historical order data with high-frequency place names. The DIM layer (dimensional layer) establishes dimension information such as date table, city table, city corresponding H3-14 grid relationship table, and online car-hailing platform table. The DWD layer (detailed layer): based on the ODS layer, the distance (Distance) between the coordinates and the nearest road and the number of H3-14 grid occurrences (NUM) are adjusted and processed to obtain data. The DWM layer (middle layer) obtains the recommended point information through the HBase index table. The DWT layer (theme layer) performs data mining on the DWM layer data according to business needs to obtain recommended boarding and alighting points in different scenarios. The DA layer (application layer): extracts the data required by the system, matches the format required by the database, and assists business decision-making.

[0088] Among them, after the historical order data enters the data warehouse, it is processed by ODS and DWD to extract all the taxi point information appearing in the order, and then processed by DIM to obtain the dimension information. The Distance method provided by Uber H3 is used to calculate the grid distance between any two target ride points in the current area. The grid distance is used for subsequent analysis of the spatial distribution rules of the ride points, and the calculation results are imported into the DWM layer.

[0089] 2. Based on the grid distance between any two target boarding points in the target boarding point set, determine the distribution parameters corresponding to each target boarding point in the target boarding point set; the distribution parameters of the target boarding point set include the distribution parameters corresponding to each target boarding point, and the distribution parameters corresponding to each target boarding point are used to indicate whether there is a target boarding point in the target boarding point set that is separated from each target boarding point by n second grids, n∈{1,...,N}, and N is a positive integer greater than or equal to 1.

[0090] Among them, the distribution parameters corresponding to each target boarding point are used to describe the distribution of other target boarding points around each target boarding point in the target boarding point set, especially the relative position relationship between them. Specifically, the distribution parameters corresponding to each target boarding point usually include a series of indicators or values ​​corresponding to the grid distance, which reflect whether there are other target boarding points within a specific grid distance range, or how many such points there are. For example, for each target boarding point, we can define a distribution parameter array, where the index of the array corresponds to different grid distances (from 1 to N), and the elements of the array indicate whether there are other target boarding points at the grid distance (Boolean value) or how many such points there are (count value).

[0091] Fig. 9 : is a distribution diagram of a target boarding point set at the second level in an embodiment. Any target boarding point in the target boarding point set is taken as the center point, and different grid distances from the center point (for example, from 1 to 3) are divided into multiple grid distance ranges, that is, there are 3 grid distance ranges around the center point. Specifically, a range of one grid distance from the center point is divided into one grid distance range (that is, Fig. 9 The grid distance range with the number 1 in the middle), divides the range of two grid distances from the center point into one grid distance range (i.e. Fig. 9 The grid distance range numbered 2 in the middle) divides the range of three grid distances from the center point into one grid distance range (i.e. Fig. 9The grid distance range numbered 3 in the figure). Among them, the grid distance ranges numbered 1 and 3 have some target boarding points (such as the second grid with background color), and the grid distance range numbered 2 does not have any target boarding points. Therefore, it is determined that in the target boarding point set, there are target boarding points that are separated from each target boarding point by 1 and 3 second grids.

[0092] Optionally, the server takes any target boarding point in the target boarding point set as the center point, sets n=1 according to the grid distance between other target boarding points in the target boarding point set and the center point, determines whether the target boarding point exists within the grid distance range of n second grids from the center point, and records it, sets n=n+1, and returns to the step of determining whether the target boarding point exists within the grid distance range of n second grids from the center point, and continues to execute until n=N, and obtains the distribution parameters corresponding to the center point according to the records.

[0093] Through this embodiment, the distribution parameters corresponding to each target boarding point are set to indicate whether there is a target boarding point in the target boarding point set that is separated from each target boarding point by n second grids, n∈{1,...,N}, N is a positive integer greater than or equal to 1. This allows for an intuitive understanding of the spatial distribution of the target boarding points in the current area, especially when n takes different values, the distribution patterns of the boarding points within different distance ranges can be observed, which helps to understand the relative positions and densities between the boarding points.

[0094] In an exemplary embodiment, in the process of obtaining the distribution parameters of the target boarding point based on the grid distance between any two target boarding points in the target boarding point set, a common practice is to traverse the entire data to determine the distribution parameters of points near the target boarding point. The use of the entire data traversal comparison will result in a Cartesian product. Therefore, in this embodiment, calculating the grid distance between any two target boarding points in the target boarding point set includes:

[0095] Determine the second grid where each target boarding point in the target boarding point set is located; determine the grid distance between any two target boarding points in the target boarding point set based on the distance between the center points of the second grid where any two target boarding points in the target boarding point set are located.

[0096] In the second grid system, each second grid unit has a center point, which is the geometric center or representative point of the second grid. When calculating the distance between two second grid units, the distance between the center points of these second grid units is often used for approximate representation.

[0097] Optionally, for each target boarding point in the target boarding point set, the server determines the second grid unit where each target boarding point is located based on its geographic coordinates and the division of the second grid. The server finds the center points of the second grids where any two target boarding points in the target boarding point set are respectively located, uses an appropriate distance calculation formula (such as Euclidean distance) to calculate the distance between the center points of the two second grids, and determines the distance as the grid distance between the two target boarding points.

[0098] Alternatively, the server calls the index table corresponding to each target boarding point in the target boarding point set, determines the second grid unit where each target boarding point is located according to the index table, determines the number of second grids between any two target boarding points according to the ID of the second grid unit where each target boarding point is located in the index table, and determines this number as the grid distance between the above-mentioned two target boarding points.

[0099] Through this embodiment, a distributed index is built in advance, and then the index is directly queried to avoid the situation where the Cartesian product occurs when traversing the entire data for comparison. Therefore, only the distance between the point and other H3-14 grid coordinates under the same H3-10 grid is calculated to avoid full comparison and improve efficiency.

[0100] In an exemplary embodiment, based on the distribution parameters of the target boarding point set, a plurality of recommended boarding points are determined, including:

[0101] Take each target boarding point as the current target boarding point and perform the following determination operations to obtain multiple recommended boarding points:

[0102] According to the distribution parameters corresponding to the current target boarding point, the target number of grid distance ranges of the target boarding point within the N grid distance ranges corresponding to the current target boarding point is determined, wherein the N grid distance ranges include a grid distance range that is spaced 1 to N second grids from the current target boarding point; when the target number is greater than or equal to a specified number threshold, the current target boarding point is determined as a recommended boarding point.

[0103] Among them, the N grid distance ranges refer to the spatial area established around the current target boarding point. The N grid distance ranges define a multi-level, gradually expanding spatial range, each range includes all possible locations with a specific grid distance from the current target boarding point. The N grid distance ranges are divided by a series of discrete grid distances, starting from directly adjacent to the current target boarding point (interval of 1 second grid) to the distance of N second grids from the current target boarding point. Specifically, the N grid distance ranges can be divided into a starting range and an extended range, wherein the starting range refers to the grid directly adjacent to the current target boarding point, that is, the distance of 1 second grid, which is the first range in the N grid distance ranges. The extended range refers to the grid distance starting from the interval of 2 second grids to the interval of N second grids, which constitute the rest of the N grid distance ranges. Each extended range is one more second grid apart than the previous range. For example, if Fig. 9 As shown, if N=3, the grid distance range will include 3 grid distance ranges, namely: the first grid distance range: all positions that are 1 second grid away from the current target boarding point. The second grid distance range: all positions that are 2 second grids away from the current target boarding point. The third grid distance range: all positions that are 3 second grids away from the current target boarding point.

[0104] The grid distance range in which the target boarding point exists refers to that within the N grid distance ranges, if at least one grid distance range includes the target boarding point, then the grid distance range is said to contain the target boarding point.

[0105] The number of targets is the total number of different grid distance ranges with at least one target boarding point within a given N grid distance range (i.e., all ranges from 1 second grid away from the current target boarding point to N second grid away). Fig. 9 As shown, if N=3, the target boarding point exists within the grid distance range of 1 second grid, the target boarding point does not exist within the grid distance range of 2 second grids, and the target boarding point exists within the grid distance range of 3 second grids. Since there are target boarding points within 2 different grid distance ranges (1 second grid interval and 3 second grid intervals), the number of targets in the grid distance ranges where the target boarding points exist is 2.

[0106] The specified number is set according to actual needs and is used to measure the ability or importance of a target boarding point to attract other target boarding points within the grid distance range around it. For example, when N is 10, the specified number can be set to 5.

[0107] Optionally, the server performs the following determination operation on each target boarding point as the current target boarding point to obtain multiple recommended boarding points: according to the current target boarding point distribution parameter, count the number of targets in the grid distance ranges where the target boarding point exists in the N grid distance ranges, and compare the calculated number of targets with a specified number threshold. If the number of targets is greater than or equal to the threshold, the current target boarding point is determined as a recommended boarding point.

[0108] In some embodiments, each target boarding point (such as a boarding point or an alighting point) can be judged according to the above steps to obtain at least one recommended boarding point (recommended boarding point or recommended alighting point). The target boarding points can also be divided into target boarding points and target alighting points according to the boarding and alighting types. For the target boarding points, at least one recommended boarding point is determined according to the above steps, and the target alighting point within a preset grid distance range from the recommended boarding point (such as a 5 H3-14 grid range around the recommended boarding point) is determined as the recommended alighting point, and the recommended boarding point and recommended alighting point are stored in the DWT layer of the data warehouse.

[0109] For example, Fig.10 FIG. 1 is a schematic diagram of a grid distance range in which a target boarding point exists in N grid distance ranges in an embodiment, such as Fig.10 As shown, the center point of the second grid where the current target boarding point is located is set as the starting point, N=10 is set, and the specified number is set to 5. Among the 10 H3-14 grid distance ranges, 7 grid distance ranges are within the target boarding point ( Fig.10 The grid distance range with background color indicates that there is a target boarding point), which is greater than a specified number (such as 5). Therefore, the current target boarding point is determined as a recommended boarding point.

[0110] Through this embodiment, according to the distribution parameters corresponding to the current target boarding point, the target number of grid distance ranges of the target boarding point within the N grid distance ranges corresponding to the current target boarding point is determined, and a specified number threshold is set. When the target number is greater than or equal to the specified number threshold, the current target boarding point is determined as a recommended boarding point. Boarding points that have a high spatial correlation with other target boarding points can be screened out as recommended boarding points. Recommended boarding points usually have high service potential and attractiveness, and can meet the travel needs of more passengers.

[0111] In an exemplary embodiment, although the historical boarding points recorded in each historical order data are boarding and alighting points, they are very far from the road due to positioning errors, temporary road repairs, etc. Such historical boarding points obviously do not meet conventional requirements and need to be eliminated. Therefore, before determining multiple recommended boarding points based on the distribution parameters of the target boarding point set, the boarding point determination method also includes:

[0112] 1. Determine a plurality of road data corresponding to the current area; the plurality of road data is used to represent a plurality of roads in the current area.

[0113] Road data refers to a collection of information that describes the characteristics of a road network. Road data usually includes the road's geometry (such as location, length, width, direction, etc.), attributes (such as road type, number of lanes, speed limit, road surface material, etc.), and associations with other roads or geographic features (such as intersections, bridges, tunnels, etc.). Each road data corresponds to a specific road in the current area and contains all relevant information about the road.

[0114] Optionally, the server compares the longitude and latitude corresponding to the current area with map data stored in a GIS database (such as PostGIS) or a spatial database management system, thereby obtaining data on multiple roads in the current area.

[0115] 2. Take each of the multiple historical boarding points as the current historical boarding point and perform the following elimination operations: determine the target road that is closest to the current historical boarding point among the multiple roads based on multiple road data; calculate the shortest distance between the current historical boarding point and the target road; and eliminate the current target boarding and alighting point when the shortest distance is greater than or equal to a preset distance threshold.

[0116] The target road refers to the road that is closest to the current historical boarding point among multiple road data. The distance to the current historical boarding point is usually calculated based on geometry, such as using the shortest distance algorithm from a point to a line (i.e., calculating the vertical distance from a point to the center line of the road). The target road is determined by comparing the distance between the current historical boarding point and all road data.

[0117] The shortest distance refers to the shortest distance between the current historical ride point and the target road. The shortest distance is a specific value that represents the straight-line distance (or vertical distance, depending on the calculation method) from the current historical ride point to the nearest point on the target road.

[0118] The preset distance threshold is a pre-set distance value used for comparison with the calculated shortest distance. If the shortest distance is greater than or equal to the preset distance threshold, it means that the current historical boarding point is far away from the nearest road and is not suitable as a boarding or alighting point. Therefore, the current historical boarding point needs to be eliminated. The preset distance threshold is usually set based on the needs and limitations of the actual application scenario, such as to exclude boarding points that are far away from the main road or have inconvenient transportation.

[0119] Optionally, for each of the multiple historical boarding points, the following processing is performed as the current historical boarding point: based on the multiple road data in the current area, by calculating the distance between the current historical boarding point and each road, the road with the closest distance is found as the target road; or GIS technology or map service provider is used to directly call the target road closest to the current historical boarding point. The server calculates the shortest distance between the current historical boarding point and the target road, and compares the calculated shortest distance with a preset distance threshold. If the shortest distance is greater than or equal to the preset distance threshold, the current historical boarding point is eliminated; otherwise, the current historical boarding point is retained. Continue to perform the above steps for the next historical boarding point until all historical boarding points have been processed.

[0120] Through this embodiment, the target road closest to the current historical boarding point among multiple roads is determined, and the shortest distance between the current historical boarding point and the target road is calculated. When the shortest distance is greater than or equal to the preset distance threshold, it is determined that the current historical boarding point is far from the nearest road and is not suitable for being a recommended boarding point, and such low-quality current target boarding and alighting points are eliminated, which can effectively filter out points that are far away from roads accessible to the vehicle and improve accuracy.

[0121] In a detailed embodiment, a method for determining a boarding point includes:

[0122] 1. Obtain multiple historical order data; each of the multiple historical order data is used to record a passenger's historical boarding point, and the historical boarding points recorded in each historical order data include a historical boarding point and a historical alighting point.

[0123] 2. Determine a first grid where each historical boarding point is located in a group of first grids, and determine a second grid where each historical boarding point is located in a group of second grids; a group of first grids is a group of grids obtained by dividing the physical space according to the first grid level; a group of second grids is a group of grids obtained by dividing the physical space according to the second grid level, and the resolution of the first grid level is smaller than the resolution of the second grid level.

[0124] 3. Convert the boarding point coordinates of each historical boarding point into first grid coordinates under the first grid where each historical boarding point is located and into second grid coordinates under the second grid where each historical boarding point is located.

[0125] 4. Based on the first grid coordinates corresponding to each historical boarding point and the second grid coordinates corresponding to each historical boarding point, an index table corresponding to each historical boarding point is established; the index table corresponding to each historical boarding point is used to represent the grid coordinates of each historical boarding point at different grid levels.

[0126] 5. Obtain an index table established for each of the multiple historical boarding points.

[0127] 6. Based on the index table corresponding to each historical boarding point, determine the boarding point of the specified type located in the current area to obtain a target boarding point set; the current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level; the boarding point of the specified type is a boarding point or an alighting point.

[0128] 7. Determine a plurality of road data corresponding to the current area; the plurality of road data are used to represent a plurality of roads in the current area.

[0129] 8. Take each of the multiple historical boarding points as the current historical boarding point and perform the following elimination operations: determine the target road that is closest to the current historical boarding point among the multiple roads based on multiple road data; calculate the shortest distance between the current historical boarding point and the target road; and eliminate the current target boarding and alighting point when the shortest distance is greater than or equal to a preset distance threshold.

[0130] 9. Determine the second grid where each target boarding point in the target boarding point set is located.

[0131] 10. Determine the grid distance between any two target boarding points in the target boarding point set based on the distance between the center points of the second grids where any two target boarding points in the target boarding point set are located; the grid distance between the two target boarding points is the number of second grids between the second grids where the two target boarding points are located in a group of second grids.

[0132] 11. Based on the grid distance between any two target boarding points in the target boarding point set, determine the distribution parameters corresponding to each target boarding point in the target boarding point set; the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area, and the distribution parameters of the target boarding point set include the distribution parameters corresponding to each target boarding point, and the distribution parameters corresponding to each target boarding point are used to indicate whether there is a target boarding point in the target boarding point set that is separated from each target boarding point by n second grids, n∈{1,...,N}, and N is a positive integer greater than or equal to 1.

[0133] 12. Take each target boarding point as the current target boarding point and perform the following determination operations to obtain multiple recommended boarding points: determine the target number of grid distance ranges of target boarding points within the N grid distance ranges corresponding to the current target boarding point based on the distribution parameters corresponding to the current target boarding point, wherein the N grid distance ranges include a grid distance range that is 1 to N second grids away from the current target boarding point; when the target number is greater than or equal to a specified number threshold, determine the current target boarding point as a recommended boarding point.

[0134] Through this embodiment, a specified type of boarding points located in the current area are screened out from multiple historical boarding points recorded in multiple historical order data to obtain a target boarding point set, and multiple recommended boarding points are determined based on the distribution parameters of the target boarding point set. The above process uses big data technology to analyze and mine the historical boarding points recorded in the historical order data, and can provide optional recommended boarding points for different businesses based on the historical order data, provide strong support for service optimization in the online car-hailing industry, and thus solve the problems of low efficiency and poor quality of services in related technologies.

[0135] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0136] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware server, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM (Read-Only Memory) / RAM (Random Access Memory), a disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of each embodiment of the present application.

[0137] According to another aspect of an embodiment of the present application, a device for determining a boarding point for implementing the above-mentioned method for determining a boarding point is also provided. Fig.11is a structural block diagram of an optional device for determining a boarding point according to an embodiment of the present application, such as Fig.11 As shown, the device may include:

[0138] The order acquisition module 1101 is used to acquire a plurality of historical order data; each of the plurality of historical order data is used to record a historical boarding point of a passenger, and the historical boarding point recorded in each historical order data includes a historical boarding point and a historical alighting point;

[0139] The screening module 1102 is used to screen out the designated type of boarding points located in the current area from the plurality of historical boarding points recorded in the plurality of historical order data to obtain a target boarding point set; the designated type of boarding point is a boarding point or an alighting point;

[0140] The recommendation module 1103 is used to determine multiple recommended boarding points based on the distribution parameters of the target boarding point set; the multiple recommended boarding points are used to provide selectable boarding points for different services, and the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area.

[0141] Through this embodiment, a specified type of boarding points located in the current area are screened out from multiple historical boarding points recorded in multiple historical order data to obtain a target boarding point set, and multiple recommended boarding points are determined based on the distribution parameters of the target boarding point set. The above process uses big data technology to analyze and mine the historical boarding points recorded in the historical order data, and can provide optional recommended boarding points for different businesses based on the historical order data, provide strong support for service optimization in the online car-hailing industry, and thus solve the problems of low efficiency and poor quality of services in related technologies.

[0142] In an exemplary embodiment, the screening module 1102 is also used to obtain an index table established for each of the multiple historical boarding points; the index table corresponding to each historical boarding point is used to characterize the grid coordinates of each historical boarding point at different grid levels; based on the index table corresponding to each historical boarding point, the boarding points of a specified type located in the current area are determined to obtain a target boarding point set; the current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level.

[0143] In an exemplary embodiment, the screening module 1102 is also used to determine a first grid where each historical boarding point is located in a group of first grids, and to determine a second grid where each historical boarding point is located in a group of second grids; a group of second grids is a group of grids obtained by dividing the physical space according to a second grid level, and the resolution of the first grid level is smaller than the resolution of the second grid level; the boarding point coordinates of each historical boarding point are converted into first grid coordinates under the first grid where each historical boarding point is located and second grid coordinates under the second grid where each historical boarding point is located; and an index table corresponding to each historical boarding point is established based on the first grid coordinates corresponding to each historical boarding point and the second grid coordinates corresponding to each historical boarding point.

[0144] In an exemplary embodiment, the current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level; the recommendation module 1103 is also used to calculate the grid distance between any two target boarding points in the target boarding point set; the grid distance between the two target boarding points is the number of second grids spaced between the second grids where the two target boarding points are located in a group of second grids, and a group of second grids is a group of grids obtained by dividing the physical space according to the second grid level, and the resolution of the first grid level is smaller than the resolution of the second grid level; based on the grid distance between any two target boarding points in the target boarding point set, determine the distribution parameters corresponding to each target boarding point in the target boarding point set; the distribution parameters of the target boarding point set include the distribution parameters corresponding to each target boarding point, and the distribution parameters corresponding to each target boarding point are used to indicate whether there is a target boarding point in the target boarding point set that is spaced n second grids away from each target boarding point, n∈{1,...,N}, and N is a positive integer greater than or equal to 1.

[0145] In an exemplary embodiment, the recommendation module 1103 is also used to determine the second grid where each target bus point in the target bus point set is located; based on the distance between the center points of the second grid where any two target bus points in the target bus point set are located, determine the grid distance between any two target bus points in the target bus point set.

[0146] In an exemplary embodiment, the recommendation module 1103 is also used to perform the following determination operations on each target boarding point as the current target boarding point to obtain multiple recommended boarding points: based on the distribution parameters corresponding to the current target boarding point, determine the target number of grid distance ranges of target boarding points within the N grid distance ranges corresponding to the current target boarding point, wherein the N grid distance ranges include a grid distance range that is 1 to N second grids apart from the current target boarding point; when the target number is greater than or equal to a specified number threshold, determine the current target boarding point as a recommended boarding point.

[0147] In an exemplary embodiment, the screening module 1102 is also used to determine multiple road data corresponding to the current area; the multiple road data are used to represent multiple roads in the current area; each of the multiple historical boarding points is used as the current historical boarding point to perform the following elimination operations: based on the multiple road data, determine the target road that is closest to the current historical boarding point among the multiple roads; calculate the shortest distance between the current historical boarding point and the target road; when the shortest distance is greater than or equal to a preset distance threshold, eliminate the current target boarding and alighting point.

[0148] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the above modules as part of the device can be run in Figure 1 In the hardware environment shown, it can be implemented by software or by hardware, wherein the hardware environment includes a network environment.

[0149] According to another aspect of the embodiment of the present application, a storage medium is also provided. Optionally, in this embodiment, the storage medium can be used to execute the program code of any of the above-mentioned methods for determining the boarding point in the embodiment of the present application.

[0150] Optionally, in this embodiment, the storage medium may be located on at least one network device among a plurality of network devices in the network shown in the above embodiment.

[0151] Optionally, in this embodiment, the storage medium is configured to store program code for executing any of the above-mentioned methods for determining the boarding point in the embodiments of the present application.

[0152] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, which will not be described in detail in this embodiment.

[0153] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media that can store program codes, such as a USB flash drive, a ROM, a RAM, a mobile hard disk, a magnetic disk, or an optical disk.

[0154] According to another aspect of an embodiment of the present application, an electronic device for implementing the above-mentioned method for determining a boarding point is also provided. The electronic device may be a smart device, a server, a terminal, or a combination thereof.

[0155] Fig.12 is a structural block diagram of an optional electronic device according to an embodiment of the present application, such as Fig.12As shown, it includes a processor 1202, a communication interface 1204, a memory 1206 and a communication bus 1208, wherein the processor 1202, the communication interface 1204 and the memory 1206 communicate with each other through the communication bus 708, wherein,

[0156] Memory 1206, used for storing computer programs;

[0157] The processor 1202 is used to execute the computer program stored in the memory 1206 to implement the program code of any of the above-mentioned methods for determining the boarding point in the embodiments of the present application.

[0158] Optionally, the communication bus may be a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.12 The communication interface is used for communication between the above electronic device and other devices.

[0159] The memory may include RAM, or may include non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0160] The above-mentioned processor can be a general-purpose processor, which can include but not be limited to: CPU (Central Processing Unit), NP (Network Processor), etc.; it can also be DSP (Digital Signal Processing), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0161] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.

[0162] It can be understood by those skilled in the art that Fig.12The structure shown is for illustration only. The device for implementing the above-mentioned method for determining the boarding point may be a terminal device, which may be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, and other terminal devices. Fig.12 The structure of the electronic device is not limited. Fig.12 More or fewer components (such as network interfaces, display devices, etc.) shown in, or having Fig.12 Different configurations shown.

[0163] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0164] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0165] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the steps in any one of the above method embodiments.

[0166] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a computer-readable storage medium, which can include: a flash drive, ROM, RAM, a magnetic disk or an optical disk, etc.

[0167] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0168] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.

[0169] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0170] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0171] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution provided in this embodiment.

[0172] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist physically separately, or at least two units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0173] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for determining a boarding point, characterized in that: include: Get multiple historical order data; Each of the plurality of historical order data is used to record a historical boarding point of a passenger, and the historical boarding points recorded in each of the historical order data include a historical boarding point and a historical alighting point; Filtering out designated type of boarding points located in the current area from the plurality of historical boarding points recorded in the plurality of historical order data to obtain a target boarding point set; the designated type of boarding point is a boarding point or an alighting point; Based on the distribution parameters of the target boarding point set, multiple recommended boarding points are determined; the multiple recommended boarding points are used to provide selectable boarding points for different services, and the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area.

2. The method according to claim 1, characterized in that The step of selecting a designated type of boarding points located in the current area from the historical boarding points recorded in the plurality of historical order data to obtain a target boarding point set includes: Acquire an index table established for each of the plurality of historical boarding points; the index table corresponding to each of the historical boarding points is used to represent the grid coordinates of each of the historical boarding points at different grid levels; Based on the index table corresponding to each historical boarding point, the boarding points of the specified type located in the current area are determined to obtain the target boarding point set; the current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level.

3. The method according to claim 2, characterized in that The method further comprises: Determine a first grid in which each historical boarding point is located in the set of first grids, and determine a second grid in which each historical boarding point is located in a set of second grids; the set of second grids is a set of grids obtained by dividing the physical space according to a second grid level, and a resolution of the first grid level is smaller than a resolution of the second grid level; Convert the boarding point coordinates of each historical boarding point into first grid coordinates of the first grid where each historical boarding point is located and second grid coordinates of the second grid where each historical boarding point is located; Based on the first grid coordinates corresponding to each of the historical boarding points and the second grid coordinates corresponding to each of the historical boarding points, an index table corresponding to each of the historical boarding points is established.

4. The method according to claim 1, characterized in that: The current area is a first grid in a group of first grids obtained by dividing the physical space according to the first grid level; Before determining a plurality of recommended boarding points based on the distribution parameters of the target boarding point set, the method further includes: Calculating a grid distance between any two target boarding points in the target boarding point set; the grid distance between the two target boarding points is the number of second grids between the second grids where the two target boarding points are located in a group of second grids, the group of second grids being a group of grids obtained by dividing the physical space according to a second grid level, and the resolution of the first grid level is smaller than the resolution of the second grid level; Based on the grid distance between any two target boarding points in the target boarding point set, a distribution parameter corresponding to each target boarding point in the target boarding point set is determined; the distribution parameter of the target boarding point set includes a distribution parameter corresponding to each target boarding point, and the distribution parameter corresponding to each target boarding point is used to indicate whether there is a target boarding point in the target boarding point set that is spaced n second grids away from each target boarding point, n∈{1,...,N}, N is a positive integer greater than or equal to 1.

5. The method according to claim 4, characterized in that The calculating the grid distance between any two target boarding points in the target boarding point set includes: Determine a second grid where each target boarding point in the target boarding point set is located; Based on the distance between the center points of the second grid where the two target boarding points in the target boarding point set are located, the grid distance between the two target boarding points in the target boarding point set is determined.

6. The method according to claim 4, characterized in that The step of determining a plurality of recommended boarding points based on the distribution parameters of the target boarding point set includes: The following determination operations are performed on each of the target boarding points as the current target boarding point to obtain the multiple recommended boarding points: Determine, according to the distribution parameter corresponding to the current target boarding point, the target number of the grid distance ranges of the target boarding point within the N grid distance ranges corresponding to the current target boarding point, wherein the N grid distance ranges include the grid distance ranges that are spaced 1 to N second grids from the current target boarding point; When the target number is greater than or equal to a specified number threshold, the current target boarding point is determined as a recommended boarding point.

7. The method according to any one of claims 1 to 6, characterized in that Before determining a plurality of recommended boarding points based on the distribution parameters of the target boarding point set, the method further includes: Determine a plurality of road data corresponding to the current area; the plurality of road data are used to represent a plurality of roads in the current area; Take each of the multiple historical boarding points as the current historical boarding point and perform the following elimination operations: determine the target road among the multiple roads that is closest to the current historical boarding point based on the multiple road data; calculate the shortest distance between the current historical boarding point and the target road; and eliminate the current target boarding and alighting point when the shortest distance is greater than or equal to a preset distance threshold.

8. A device for determining a boarding point, characterized in that: include: Order acquisition module, used to obtain multiple historical order data; Each of the plurality of historical order data is used to record a historical boarding point of a passenger, and the historical boarding points recorded in each of the historical order data include a historical boarding point and a historical alighting point; A screening module, used to screen out a designated type of boarding point located in the current area from the plurality of historical boarding points recorded in the plurality of historical order data, to obtain a target boarding point set; the designated type of boarding point is a boarding point or an alighting point; A recommendation module is used to determine multiple recommended boarding points based on the distribution parameters of the target boarding point set; the multiple recommended boarding points are used to provide selectable boarding points for different services, and the distribution parameters of the target boarding point set are used to describe the distribution of the target boarding point set in the current area.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of any one of the methods of claims 1 to 7 when executed by a processor.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.