A platform dispatching method, device, equipment and storage medium
By dispatching orders based on the ordering user within the ride-hailing platform's server, the problem of low dispatch efficiency when there is insufficient capacity is solved, ensuring that each ordering user occupies only one capacity slot, thereby improving the platform's dispatch efficiency and revenue.
Patent Information
- Application Number
- CN202211609808.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-14
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2042-12-14
AI Technical Summary
During peak periods of ride-hailing demand, when ride-hailing platform servers are underutilized, existing technology dispatches orders based on the order dimension, causing some users to occupy multiple available resources, resulting in low dispatch efficiency.
Orders are dispatched based on the ordering user, identifying multiple orders from the same user, selecting one order as the target order for dispatch, and canceling other orders to ensure that the same user does not occupy multiple delivery capacities at the same time.
This improved the platform's order dispatch efficiency during peak periods of demand, ensuring that every user who places an order can be matched with transportation capacity, and increasing the platform's overall revenue.
Smart Images

Figure CN115829686B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of ride-hailing technology, and in particular to a platform dispatching method, apparatus, equipment and storage medium. Background Technology
[0002] With the widespread adoption of ride-hailing services, people's daily travel has become more convenient. To promote their services, ride-hailing platform servers typically distribute their services across multiple third-party platform servers. This allows users to place orders through any of these platforms, triggering an order to be sent to that particular ride-hailing platform server. The ride-hailing platform server then dispatches the order based on the order information and provides the user with the travel service.
[0003] With existing technology, ride-hailing platform servers typically dispatch orders on an order-by-order basis, meaning one order corresponds to one dispatched vehicle. In some situations, such as during rush hour, user demand for rides is excessive, while the number of vehicles available to accept orders on the ride-hailing platform server is insufficient, resulting in a lack of available vehicles for some user orders and causing low order dispatch efficiency.
[0004] Studies have shown that in these situations, users often initiate orders for the same trip through multiple platform servers simultaneously in order to receive the dispatch results and get a ride as soon as possible. Given that the dispatch scheme of existing ride-hailing platform servers dispatches orders at the order level, this can lead to a situation where the same user may occupy multiple transportation capacities at a certain time, resulting in no transportation capacity available for other users' orders and thus causing low dispatch efficiency. Summary of the Invention
[0005] This application provides a platform dispatching method, apparatus, device, and storage medium to improve dispatching efficiency during peak periods of vehicle demand.
[0006] The specific technical solutions provided in this application are as follows:
[0007] In a first aspect, embodiments of this application provide a platform order dispatching method, including:
[0008] After determining that the current platform capacity is less than the platform capacity threshold, if the first order is received from the ordering user through any server's ordering terminal, and it is determined that the order dispatch result pool does not contain the order dispatch result of the ordering user, then the first order is added to the order dispatch pool. The order dispatch result is stored in the order dispatch result pool after the order is successfully dispatched to the corresponding ordering user.
[0009] When dispatching orders to the user who placed the order, based on the order information of the first order, it is determined whether there is a second order in the order pool that meets preset conditions, in addition to the first order, wherein the second order is initiated by the user who placed the order through the ordering client of another server;
[0010] If it exists, select one order from the first order and each of the determined second orders as the target order, and assign an order to the user who placed the order based on the order information of the target order;
[0011] After an order is successfully dispatched, cancel any other orders initiated by the user who placed the order in the pending order pool.
[0012] The platform order dispatch method provided in this application dispatches orders based on the order user when the platform's capacity is less than the platform's capacity threshold. During dispatch, it first identifies whether there are multiple orders from the same user in the current order pool. If multiple orders from the same user are found, one order is selected as the target order. Then, based on the order information of the target order, the order is dispatched to that user. After successful dispatch, other orders from that user are cancelled. These other orders are all initiated from servers other than the target server corresponding to the target order. This ensures that the same user does not occupy multiple delivery slots simultaneously, thereby improving the platform's order dispatch efficiency during peak user demand periods.
[0013] In one possible implementation, it is determined whether the order dispatch result pool contains the order dispatch result of the user who placed the order, in the following way:
[0014] Obtain the order information corresponding to each dispatch result in the dispatch result pool;
[0015] Based on the order information of the first order, query the order information corresponding to each dispatch result that meets the preset conditions;
[0016] If found, it is determined that the order dispatch result pool contains the order dispatch result of the user who placed the order;
[0017] If no query is performed, it is determined that the order result pool does not contain the order result of the user who placed the order.
[0018] In one possible implementation, the preset conditions include some or all of the following information:
[0019] The communication identification information is the same as that of the first order;
[0020] The distance deviation between the location information of the first order and the location information of the first order is not greater than a preset value, wherein the location information includes the starting point location information and / or the ending point location information;
[0021] The time difference between the order placement time of the first order and the order placement time of the first order is not greater than the time threshold.
[0022] In one possible implementation, selecting one order as the target order from the first order and the determined second orders includes:
[0023] Based on the judgment indicators, a first selection weight corresponding to the first order and a second selection weight corresponding to each second order are determined.
[0024] Based on the first selection weight and each of the second selection weights, the selection probability values corresponding to the first order and each of the second orders are determined;
[0025] The highest probability value is selected from the determined selection probability values, and the order corresponding to the highest probability value is taken as the target order.
[0026] The above method, based on judgment indicators, identifies the order with the highest probability value among all the orders corresponding to the user who placed the order as the target order. This ensures that the same user does not occupy multiple transportation capacities at the same time, and also ensures that other users who placed orders have transportation capacities available, thereby improving the order dispatch efficiency of the ride-hailing platform server.
[0027] In one possible implementation, the candidate order is either the first order or the second order, and the candidate selection weight corresponding to the candidate order is either the first selection weight corresponding to the first order or the second selection weight corresponding to the second order.
[0028] The step of determining the first selection weight corresponding to the first order and the second selection weight corresponding to each second order based on the judgment index includes:
[0029] Based on the reference proportion array and the normalized value of the candidate order corresponding to the judgment indicator, the candidate selection weight corresponding to the candidate order is determined. The judgment indicator includes some or all of the following indicators: order placement time indicator, order price indicator, number of vehicle models called simultaneously indicator, dispatch range limiting factor indicator, and channel return rate indicator.
[0030] The above method, by comprehensively considering five judgment indicators—order placement time, order value, number of vehicle types called simultaneously, dispatch range restrictions, and channel return rate—ensures that orders placed earlier, with higher prices, more vehicle types called simultaneously, less restrictive dispatch range, and higher channel return rates are most likely to be selected when dispatching orders to the same user. This maximizes the revenue of the ride-hailing platform server for each order dispatch, even when the platform's capacity is less than its threshold.
[0031] In one possible implementation, the step of "after successful order dispatch" further includes:
[0032] The order dispatch result of the user who placed the order is sent to the target server corresponding to the target order.
[0033] Store the order dispatch results of the order-placing user in the order dispatch result pool, and set a timer for the order dispatch results of the order-placing user;
[0034] When the timer reaches the time threshold, the order result of the user who placed the order is deleted from the order result pool; or, after receiving feedback information sent by the target server, the order result of the user who placed the order is deleted from the order result pool, wherein the feedback information is sent by the target server after receiving the order result of the user who placed the order.
[0035] In one possible implementation, after canceling other orders initiated by the user who placed the order in the pending order pool, the method further includes:
[0036] A cancellation instruction is sent to the server corresponding to each of the other orders to notify the server corresponding to each of the other orders to cancel the order initiated by the user who placed the order.
[0037] The above method ensures that the same user does not occupy multiple ride slots simultaneously, guaranteeing that the user can get a ride while also ensuring that other users have available ride slots, thereby improving the order dispatch efficiency of the ride-hailing platform server.
[0038] Secondly, embodiments of this application provide a platform dispatching device, comprising:
[0039] The first determining module is used to determine that the current platform capacity is less than the platform capacity threshold. If it receives a first order initiated by a user through the ordering end of any server and determines that the order dispatch result pool does not contain the order dispatch result of the user, then the first order is added to the order waiting pool. The order dispatch result is stored in the order dispatch result pool after the order is successfully dispatched to the corresponding user.
[0040] The second determining module is used to determine, when dispatching an order to the user who placed the order, whether there is a second order in the order pool that meets preset conditions, based on the order information of the first order, wherein the second order is initiated by the user who placed the order through an ordering client on another server;
[0041] The selection and dispatch module is used to select one order from the first order and the determined second orders as the target order if it exists, and dispatch the order to the user who placed the order based on the order information of the target order.
[0042] The cancellation module is used to cancel other orders initiated by the user who placed the order in the pending order pool after the order has been successfully dispatched.
[0043] In one possible implementation, it is determined whether the order dispatch result pool contains the order dispatch result of the user who placed the order, in the following way:
[0044] Obtain the order information corresponding to each dispatch result in the dispatch result pool;
[0045] Based on the order information of the first order, query the order information corresponding to each dispatch result that meets the preset conditions;
[0046] If found, it is determined that the order dispatch result pool contains the order dispatch result of the user who placed the order;
[0047] If no query is performed, it is determined that the order result pool does not contain the order result of the user who placed the order.
[0048] In one possible implementation, the preset conditions include some or all of the following information:
[0049] The communication identification information is the same as that of the first order;
[0050] The distance deviation between the location information of the first order and the location information of the first order is not greater than a preset value, wherein the location information includes the starting point location information and / or the ending point location information;
[0051] The time difference between the order placement time of the first order and the order placement time of the first order is not greater than the time threshold.
[0052] In one possible implementation, the selection and dispatch module is specifically used for:
[0053] Based on the judgment indicators, a first selection weight corresponding to the first order and a second selection weight corresponding to each second order are determined.
[0054] Based on the first selection weight and each of the second selection weights, the selection probability values corresponding to the first order and each of the second orders are determined;
[0055] The highest probability value is selected from the determined selection probability values, and the order corresponding to the highest probability value is taken as the target order.
[0056] In one possible implementation, the candidate order is either the first order or the second order, and the candidate selection weight corresponding to the candidate order is either the first selection weight corresponding to the first order or the second selection weight corresponding to the second order.
[0057] The first selection weight corresponding to the first order and the second selection weight corresponding to each second order are determined based on the judgment index. The selection and dispatch module is specifically used for:
[0058] Based on the reference proportion array and the normalized value of the candidate order corresponding to the judgment indicator, the candidate selection weight corresponding to the candidate order is determined. The judgment indicator includes some or all of the following indicators: order placement time indicator, order price indicator, number of vehicle models called simultaneously indicator, dispatch range limiting factor indicator, and channel return rate indicator.
[0059] In one possible implementation, the cancellation module is further configured to:
[0060] After the order is successfully dispatched, the order dispatch result of the user who placed the order is sent to the target server corresponding to the target order;
[0061] Store the order dispatch results of the order-placing user in the order dispatch result pool, and set a timer for the order dispatch results of the order-placing user;
[0062] When the timer reaches the time threshold, the order result of the user who placed the order is deleted from the order result pool; or, after receiving feedback information sent by the target server, the order result of the user who placed the order is deleted from the order result pool, wherein the feedback information is sent by the target server after receiving the order result of the user who placed the order.
[0063] In one possible implementation, the cancellation module is further configured to:
[0064] After canceling other orders initiated by the user who placed the order in the pending order pool, a cancellation instruction is sent to the server corresponding to each of the other orders to notify the server corresponding to each of the other orders to cancel the orders initiated by the user who placed the order.
[0065] Thirdly, embodiments of this application provide an electronic device, including:
[0066] Memory is used to store computer programs or instructions;
[0067] A processor for executing a computer program or instructions in the memory, such that the method described in any of the first aspects is performed.
[0068] Fourthly, embodiments of this application provide a computer-readable storage medium that, when instructions in the storage medium are executed by a processor, enables the processor to perform the method described in any one of the first aspects above.
[0069] Fifthly, embodiments of this application provide a computer program product, the computer program product comprising: computer program code, which, when run on a computer, causes the computer to perform the method described in any one of the first aspects.
[0070] Furthermore, the technical effects of any of the implementation methods in the second to fifth aspects can be found in the technical effects of different implementation methods in the first aspect, and will not be repeated here.
[0071] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0072] Figure 1 This is a schematic diagram of an application scenario in an embodiment of this application;
[0073] Figure 2 This is a flowchart illustrating a platform order dispatching method in an embodiment of this application;
[0074] Figure 3 This is a flowchart illustrating a method for determining the order dispatch results containing a user who placed the order, as described in an embodiment of this application.
[0075] Figure 4 This is a flowchart illustrating a method for determining a target order in an embodiment of this application;
[0076] Figure 5 This is a schematic diagram of a dispatch result processing flow in an embodiment of this application;
[0077] Figure 6 This is a schematic diagram of the logical architecture of a platform dispatching device in an embodiment of this application;
[0078] Figure 7 This is a schematic diagram of the physical architecture of the electronic device in the embodiments of this application. Detailed Implementation
[0079] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0080] It should be noted that the terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in sequences other than those illustrated or described herein.
[0081] In this embodiment of the application, in order to solve the problem of low order dispatch efficiency during peak periods of ride-hailing demand under existing technologies, after determining that the current platform capacity is less than the platform capacity threshold, if a first order is received from a user through any server's ordering terminal, and it is determined that the order dispatch result pool does not contain the user's order dispatch result, then the first order is added to the pending order dispatch pool. The order dispatch result is stored in the order dispatch result pool after the order is successfully dispatched to the corresponding user. When dispatching an order to a user, based on the order information of the first order, it is determined whether there is a second order in the pending order dispatch pool that meets preset conditions, where the second order is initiated by the user through another server's ordering terminal. If it exists, one order is selected from the first order and the determined second orders as the target order, and the order is dispatched to the user based on the order information of the target order. After the order is successfully dispatched, other orders initiated by the user in the pending order dispatch pool are cancelled.
[0082] The platform order dispatch method provided in this application dispatches orders based on the order user when the platform's capacity is less than the platform's capacity threshold. During dispatch, it first identifies whether there are multiple orders from the same user in the current order pool. If multiple orders from the same user are found, one order is selected as the target order. Based on the order information of the target order, the user is dispatched an order. After successful dispatch, the user's other orders are cancelled. These other orders are all initiated from servers other than the target server corresponding to the target order. This ensures that the same user does not occupy multiple delivery slots simultaneously, thereby improving the platform's order dispatch efficiency during peak user demand periods.
[0083] The preferred embodiments of this application will be further described in detail below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are only for illustration and explanation of this application and are not intended to limit this application. Furthermore, the embodiments of this application and the features in the embodiments can be combined with each other without conflict.
[0084] See Figure 1 The diagram shown illustrates an application scenario of an embodiment of this application. The application scenario includes a user terminal 100, a server 200, and an in-vehicle terminal 300. The user terminal 100 is connected to the server 200 via a wired or wireless network, and the in-vehicle terminal 300 is also connected to the server 200 via a wired or wireless network.
[0085] User terminal 100 sends an order to server 200. The order can be initiated by the user through the order placement terminal of the ride-hailing platform server or by the user through the order placement terminal of a third-party platform server. The order includes order information such as origin location information, destination location information, user's current location information, and communication method.
[0086] The vehicle terminal 300 sends the vehicle's location information and order status to the server 200.
[0087] After receiving an order, server 200 determines the geographical area where the user is located based on the order information; and based on the received vehicle location information and order acceptance status, it identifies vehicles that have not yet accepted orders or are about to complete orders within the geographical area where the order information is located, thereby completing the order dispatch.
[0088] It should be noted that Figure 1 The location of the vehicle-mounted terminal 300 in the diagram is for illustrative purposes only and does not represent a fixed location for actual installation in a vehicle. The vehicle-mounted terminal 300 can also be located in other parts of the vehicle, such as in the door or between the front seats.
[0089] After introducing the application scenarios of the embodiments of this application, please refer to... Figure 2 As shown in the embodiments of this application, a platform dispatching method is provided, which is applied to the dispatching system of a ride-hailing platform server. The specific process of this method is as follows:
[0090] Step 400: After determining that the current platform capacity is less than the platform capacity threshold, if the first order is received from the ordering user through any server's ordering terminal, and it is determined that the order dispatch result pool does not contain the order dispatch result of the ordering user, then the first order is added to the order waiting pool. The order dispatch result is stored in the order dispatch result pool after the order is successfully dispatched to the corresponding ordering user.
[0091] In this embodiment, the user can initiate the first order through the order placement client of the ride-hailing platform server via their user terminal, or through the order placement client of a third-party platform server. Once the ride-hailing platform server's dispatch system receives the first order, refer to... Figure 3 As shown, the method for determining whether the order dispatch result pool contains the order dispatch result of the user who placed the order is as follows: The order dispatch result is stored in the order dispatch result pool after the order is successfully dispatched to the corresponding user.
[0092] Step 500: Obtain the order information corresponding to each dispatch result in the dispatch result pool.
[0093] In this embodiment of the application, when performing step 500, the order information corresponding to each dispatch result is obtained based on each dispatch result contained in the dispatch result pool. In specific implementation, the order information corresponding to each dispatch result can be obtained from a preset database.
[0094] In this embodiment of the application, the order information mentioned above includes, but is not limited to, the following information:
[0095] 1. Communication identification information, such as the last four digits of a mobile phone number;
[0096] 2. Location information, which includes starting point location information and / or ending point location information;
[0097] 3. Order placement time, etc.
[0098] It should be noted that after each dispatch result in the dispatch result pool is stored, a timer is started simultaneously. If the timer reaches the time threshold, the dispatch result is deleted from the dispatch result pool; or, after receiving feedback information from the target server, the dispatch result is deleted from the dispatch result pool. The feedback information is sent by the target server after receiving the dispatch result from the user who placed the order.
[0099] Step 510: Based on the order information of the first order, query the order information corresponding to each dispatch result that meets the preset conditions.
[0100] In this embodiment of the application, the above-mentioned preset conditions include some or all of the following information:
[0101] 1) The communication identification information is the same as that of the first order;
[0102] 2) The distance deviation between the location information and the location information of the first order is not greater than a preset value, wherein the location information includes the starting point location information and / or the ending point location information;
[0103] 3) The time difference between the first order and the order placement time is not greater than the time threshold.
[0104] In some preferred embodiments, when performing step 510, if the order information corresponding to any order dispatch result in the order dispatch result pool is compared with the order information of the first order and the results are: the communication identification information is the same, the distance deviation of the starting position information is not greater than a preset value, the distance deviation of the ending position information is not greater than a preset value, and the time difference of the order placement time is not greater than a time threshold, then it is determined that the order corresponding to the order dispatch result and the first order are orders initiated by the same ordering user through different server ordering terminals.
[0105] In this embodiment of the application, the distance deviation is a latitude and longitude deviation, the preset value can be 100 meters, and the time threshold can be 60 seconds.
[0106] In the above embodiments, the communication identification information, starting location information, ending location information and order placement time corresponding to the dispatch result can be compared sequentially or in parallel to see if they meet preset conditions. That is, the communication identification information of the dispatch result and the first order are compared to see if they are the same; the latitude and longitude deviation between the location information of the dispatch result and the first order is not greater than a preset value; and the time difference between the order placement time of the dispatch result and the first order is compared to see if it is not greater than a time threshold.
[0107] If the comparison between the dispatch result and the order information corresponding to the first order shows that the communication identification information is the same, and the latitude and longitude deviation of the starting location information is not greater than a preset value, and the latitude and longitude deviation of the ending location information is not greater than a preset value, and the time difference of the order placement time is not greater than the time threshold, then it is determined that the order corresponding to the dispatch result and the first order are orders initiated simultaneously by the same ordering user through different server ordering terminals. This dispatch result indicates that an order has been dispatched to this ordering user. If the comparison between the dispatch result and the order information corresponding to the first order shows that the communication identification information is different, and / or, the latitude and longitude deviation of the starting location information is greater than a preset value, and / or, the latitude and longitude deviation of the ending location information is greater than a preset value, and / or, the time difference of the order placement time is greater than the time threshold, then it is determined that the order corresponding to the dispatch result and the first order are not orders initiated simultaneously by the same ordering user through different server ordering terminals. This dispatch result indicates that an order has not been dispatched to this ordering user.
[0108] Step 520: If found, then confirm that the order dispatch result pool contains the order dispatch result of the user who placed the order.
[0109] In this embodiment of the application, if a dispatch result that meets the above preset conditions is found in the dispatch result pool by executing step 510, then step 520 is executed to determine that the dispatch result includes the dispatch result of the user who placed the order.
[0110] Step 530: If no results are found, it is determined that the order dispatch result pool does not contain the order dispatch result of the user who placed the order.
[0111] In this embodiment of the application, if no dispatch result matching the above preset conditions is found in the dispatch result pool after executing step 510, then step 530 is executed to determine that the dispatch result does not include the dispatch result of the user who placed the order.
[0112] Thus, in this embodiment of the application, after determining that the current platform capacity is less than the platform capacity threshold, by executing steps 500-530, it can be determined whether the first order initiated by the user through any server has been successfully dispatched to the user in the dispatch result pool. If it is determined that the dispatch result pool does not contain the user's dispatch result, i.e., step 530, indicating that no order has been dispatched to the user, then step 400 is executed to add the first order to the pending dispatch pool, waiting for the user to be dispatched.
[0113] Step 410: When dispatching orders to users, based on the order information of the first order, determine whether there is a second order in the order pool that meets the preset conditions, in addition to the first order. The second order is initiated by the user through the ordering client of another server.
[0114] In this embodiment of the application, when performing step 410, when dispatching an order to the user who placed the order, the system first queries the order pool to see if it contains a second order initiated simultaneously by the user through different order placement terminals on different servers.
[0115] In practice, based on the above-mentioned preset conditions and the order information of the first order, the system queries the pending order pool to see if there is a second order other than the first order. For example, the second order has the same communication identification information as the first order, and the latitude and longitude deviation of the starting position information is not greater than the preset value, the latitude and longitude deviation of the ending position information is not greater than the preset value, and the time difference at the time of order placement is not greater than the time threshold.
[0116] Step 420: If it exists, select one order from the first order and the determined second orders as the target order, and assign the order to the user who placed the order based on the order information of the target order.
[0117] In this embodiment of the application, if step 410 determines that there is a second order in the order pool that meets the preset conditions other than the first order, then step 420 is executed to select an order from the first order and each of the second orders, and to take the selected order as the target order. Based on the order information of the target order, an order is dispatched to the user who placed the order so as to provide travel services to the user who placed the order.
[0118] In the embodiments of this application, see the following: Figure 4As shown, when selecting one order as the target order from the first order and the determined second orders, the following steps can be performed:
[0119] Step 600: Based on the judgment indicators, determine the first selection weight corresponding to the first order and the second selection weight corresponding to each second order.
[0120] For ease of description, we introduce the concepts of candidate orders and their corresponding candidate selection weights. Assuming a candidate order is either the first order or the second order, the candidate selection weight corresponding to that order is either the first selection weight corresponding to the first order or the second selection weight corresponding to the second order.
[0121] In specific implementation, when executing step 600, the candidate selection weight corresponding to the candidate order can be determined based on the reference proportion array and the normalized value of the candidate order corresponding to the judgment indicator. The judgment indicator includes some or all of the following indicators: order placement time indicator, order price indicator, number of vehicle models called at the same time indicator, order dispatch range limiting factor indicator, and channel return rate indicator.
[0122] In this embodiment, weights are pre-assigned to different servers based on the aforementioned judgment indicators of the order, so as to control the probability of each server being selected during order dispatch by the magnitude of the weight. In this embodiment, the weight of each server can be calculated using the following formula:
[0123]
[0124] In the above formula, w(x1,x2,x3,x4,x5) is the weight of the server (channel) that initiated the candidate order; x1 is the order placement time of the candidate order (e.g., the timestamp of the order placement time is accurate to milliseconds); x2 is the order price of the candidate order (unit: yuan); x3 is the number of vehicle models in the candidate order, i.e., the number of vehicle models called at the same time; x4 is the dispatch radius of the server (channel) that initiated the candidate order (unit: meters); x5 is the channel return rate of the server (channel) that initiated the candidate order; M, N, C, and D represent the extreme values of the order placement time indicator, order price indicator, number of vehicle models called at the same time indicator, and dispatch range limitation factor indicator, respectively.
[0125] In the above formula, g(x1), g(x2), g(x3), g(x4), and g(x5) represent the normalized values of candidate orders corresponding to the order placement time indicator, order price indicator, number of vehicle models called simultaneously, order dispatch range limiting factor indicator, and channel return rate indicator, respectively; {k1, k2, k3, k4, k5} is a reference proportion array, where k1, k2, k3, k4, and k5 represent the normalized proportions of the order placement time indicator, order price indicator, number of vehicle models called simultaneously, and order dispatch range limiting factor indicator, respectively, and k1+k2+k3+k4+k5=1.
[0126] It should be noted that in practical applications, when a user places an order through any server (channel) and then adds a vehicle model, the added vehicle model information will be added to the order information of the original order. In this scenario, the x3 mentioned above also includes the number of added vehicle models in the order.
[0127] In this embodiment of the application, the channel return rate of any server can be calculated using the following formula:
[0128]
[0129] In the above formula, "the number of orders determined by the channel" represents the total number of orders that the ordering user confirmed to ride after the order was successfully dispatched based on the order initiated by the server (channel); "the number of orders dispatched to the channel" represents the total number of orders that were successfully dispatched based on the order initiated by the server (channel) for the ordering user.
[0130] In this embodiment of the application, the aforementioned reference proportion array {k1, k2, k3, k4, k5} can be periodically adjusted according to the order data within the period.
[0131] In practice, an objective function can be set as ∑w(x1,x2,x3,x4,x5), with the constraint k1+k2+k3+k4+k5=1. Order data within a given period (e.g., the most recent month) is used as training samples. Each time, a set of values {k1, k2, k3, k4, k5} is set, where the values of k1, k2, k3, k4, and k5 are different in each set. Based on this training sample and constraint, the target value of the objective function is obtained. Then, by comparing the different values of {k1, k2, k3, k4, k5}, and considering the target values obtained from the training samples, the set of {k1, k2, k3, k4, k5} corresponding to the largest target value is selected as the final value. The platform's order dispatch method is then executed to guide the selection of target orders. It should be noted that the above maximum target value represents the optimal solution for the overall benefits of five factors: earlier order placement, higher order price, a larger number of vehicle models called simultaneously, more lenient restrictions on order dispatch range, and higher channel return rate.
[0132] Thus, by executing step 600, the first selection weight corresponding to the first order, i.e. the weight of the server that initiated the first order, can be determined based on the above judgment indicators and the order information of the first order; and the second selection weight of each second order, i.e. the weight of the server that initiated each second order, can be determined based on the above judgment indicators and the order information of each second order.
[0133] Step 610: Based on the first selection weight and each second selection weight, determine the selection probability value corresponding to the first order and each second order.
[0134] In this embodiment of the application, when performing step 610, the selection probability value corresponding to the first order and each second order can be represented by the following formula:
[0135]
[0136] In the above formula, p(w) k ) represents the probability that server number k is selected; w k This represents the weight of the server with sequence number k; This represents the sum of the weights of servers numbered 1 to N, where i is the sequence number.
[0137] Step 620: Select the highest probability value from the determined selection probability values, and take the order corresponding to the highest probability value as the target order.
[0138] In this embodiment of the application, when performing step 610, the selection probability value corresponding to the first order and each second order is determined. Then, when performing step 620, the maximum probability value among the selection probability values is selected, and the order corresponding to the maximum probability value is determined as the target order.
[0139] For example, suppose there are two second orders in the order pool.
[0140] Furthermore, assume that the probability of selecting the first order is 45%, and the probability of selecting each second order is 15% and 40%, respectively.
[0141] Therefore, when performing step 620, the highest probability value, 45%, is selected from 45%, 15%, and 40%; then, the first order corresponding to 45% is determined as the target order.
[0142] In this embodiment of the application, after obtaining the target order, when dispatching orders to the user who placed the order based on the order information of the target order, the existing technology can be used to determine the geographical area where the order information is located based on the order information of the target order, and based on the vehicle location information and order acceptance status sent by the vehicle terminal, as well as the dispatch range limitation factors of the server corresponding to the target order, determine the vehicles that have not accepted orders or are about to complete orders within the geographical area where the order information is located, thereby completing the dispatch.
[0143] Step 430: After a successful order assignment, cancel other orders initiated by users in the pending order pool.
[0144] In this embodiment of the application, during step 430, after successful order dispatch, other orders initiated by the user who placed the order are deleted from the order dispatch pool. Then, a cancellation instruction is sent to the server corresponding to each other order to notify the server to cancel the order initiated by the user.
[0145] In this embodiment of the application, after the order is successfully dispatched, refer to... Figure 5 As shown, the following steps are also performed:
[0146] Step 700: Send the order dispatch result of the user who placed the order to the target server corresponding to the target order.
[0147] Step 710: Store the order dispatch result of the user who placed the order to the order dispatch result pool, and set a timer for the order dispatch result of the user who placed the order.
[0148] Step 720: When the timer reaches the above time threshold, delete the order result of the user who placed the order from the order result pool; or, after receiving feedback information sent by the target server, delete the order result of the user who placed the order from the order result pool, wherein the feedback information is sent by the target server after receiving the order result of the user who placed the order.
[0149] It should be noted that the execution time of "canceling other orders initiated by users in the pending order pool" after successful order dispatch is not specifically limited to the execution order of steps 700 and 710, and can be dynamically adjusted based on the actual server load. In some preferred embodiments, after successful order dispatch, the order dispatch result of the user is sent to the target server corresponding to the target order. Then, the order dispatch result of the user is stored in the order dispatch result pool, and a timer is set for the order dispatch result of the user. Finally, other orders initiated by users in the pending order pool are canceled.
[0150] In some possible embodiments, when performing step 410, if there is no second order in the order pool that meets the above preset conditions, the first order is taken as the target order. Based on the order information of the target order, an order is assigned to the user who placed the order. After the order is successfully assigned, the order result of the user who placed the order is stored in the order result pool, and a timer is set for the order result of the user who placed the order. When the timer reaches the above time threshold, the order result of the user who placed the order is deleted from the order result pool. Alternatively, after receiving feedback information sent by the target server, the order result of the user who placed the order is deleted from the order result pool. The feedback information is sent by the target server after receiving the order result of the user who placed the order.
[0151] In this way, during peak user demand periods, when the platform's current capacity is less than the platform's capacity threshold, when dispatching orders to users, the system first identifies whether there are multiple orders from the same user in the current order pool. If multiple orders are found, one order is selected as the target order based on the judgment criteria, and the order is dispatched to the user based on that target order. This ensures that during peak user demand periods, when the platform's server capacity is insufficient or even severely insufficient, each user can be matched with a available delivery capacity to the greatest extent possible, thereby improving the platform's order dispatch efficiency and ultimately increasing the platform's overall revenue.
[0152] In some possible embodiments, after executing the order information based on the target order and dispatching an order to the user who placed the order, if the dispatch fails, steps 410 to 420 are executed until the order is successfully dispatched to the user, or until the dispatch time reaches the maximum dispatch threshold, and a dispatch failure prompt message is output.
[0153] In some possible embodiments, if order dispatch fails, the target order is marked. Then, after performing step 410 and determining that there is a second order in the order pool to be dispatched, before performing step 420, the marked target order is deleted from the first order and each second order. Then, step 420 is performed to select a new target order from the remaining orders to improve order dispatch efficiency.
[0154] For example, let's still assume that there are two second orders in the order pool.
[0155] Still assuming that the probability of selecting the first order is 45%, and the probability of selecting each second order is 15% and 40%, respectively.
[0156] Then, when executing step 620, select the first order corresponding to 45% from 45%, 15%, and 40% as the target order.
[0157] Suppose that, based on the order information of the first order corresponding to this 45%, the order assignment to the user who placed the order fails.
[0158] Then, steps 410 to 420 can be re-executed. Assuming there are still two second orders in the order pool, with selection probabilities of 15% and 40% respectively, after step 420, the first order corresponding to the 45% probability is selected as the target order, and the order is re-assigned to that user until the order is successfully assigned, or until the order assignment time reaches the maximum assignment threshold, and an order assignment failure message is output.
[0159] Alternatively, the first order can be marked, and steps 410 to 420 can be re-executed. Assuming there are still two second orders in the order pool, with selection probabilities of 15% and 40% respectively, after step 420, the second order corresponding to the 40% probability can be selected as the new target order, and an order can be assigned to the user based on the order information of the second order corresponding to the 40% probability.
[0160] Based on the same inventive concept, see [reference] Figure 6 As shown in the figure, this application embodiment provides a platform dispatching device, including:
[0161] The first determining module 810 is used to determine that the current platform capacity is less than the platform capacity threshold. If it receives a first order initiated by a user through the ordering end of any server and determines that the order dispatch result pool does not contain the order dispatch result of the user, then the first order is added to the order waiting pool. The order dispatch result is stored in the order dispatch result pool after the order is successfully dispatched to the corresponding user.
[0162] The second determining module 820 is used to determine, when dispatching an order to the ordering user, whether there is a second order in the order pool that meets preset conditions, based on the order information of the first order, wherein the second order is initiated by the ordering user through the ordering terminal of another server;
[0163] The selection and dispatch module 830 is used to select one order from the first order and the determined second orders as the target order if it exists, and dispatch an order to the user who placed the order based on the order information of the target order.
[0164] The cancellation module 840 is used to cancel other orders initiated by the user who placed the order in the pending order pool after the order is successfully dispatched.
[0165] In one possible implementation, it is determined whether the order dispatch result pool contains the order dispatch result of the user who placed the order, in the following way:
[0166] Obtain the order information corresponding to each dispatch result in the dispatch result pool;
[0167] Based on the order information of the first order, query the order information corresponding to each dispatch result that meets the preset conditions;
[0168] If found, it is determined that the order dispatch result pool contains the order dispatch result of the user who placed the order;
[0169] If no query is performed, it is determined that the order result pool does not contain the order result of the user who placed the order.
[0170] In one possible implementation, the preset conditions include some or all of the following information:
[0171] The communication identification information is the same as that of the first order;
[0172] The distance deviation between the location information of the first order and the location information of the first order is not greater than a preset value, wherein the location information includes the starting point location information and / or the ending point location information;
[0173] The time difference between the order placement time of the first order and the order placement time of the first order is not greater than the time threshold.
[0174] In one possible implementation, the selection and dispatch module 830 is specifically used for:
[0175] Based on the judgment indicators, a first selection weight corresponding to the first order and a second selection weight corresponding to each second order are determined.
[0176] Based on the first selection weight and each of the second selection weights, the selection probability values corresponding to the first order and each of the second orders are determined;
[0177] The highest probability value is selected from the determined selection probability values, and the order corresponding to the highest probability value is taken as the target order.
[0178] In one possible implementation, the candidate order is either the first order or the second order, and the candidate selection weight corresponding to the candidate order is either the first selection weight corresponding to the first order or the second selection weight corresponding to the second order.
[0179] The first selection weight corresponding to the first order and the second selection weight corresponding to each second order are determined based on the judgment index. The selection and dispatch module 830 is specifically used for:
[0180] Based on the reference proportion array and the normalized value of the candidate order corresponding to the judgment indicator, the candidate selection weight corresponding to the candidate order is determined. The judgment indicator includes some or all of the following indicators: order placement time indicator, order price indicator, number of vehicle models called simultaneously indicator, dispatch range limiting factor indicator, and channel return rate indicator.
[0181] In one possible implementation, the cancellation module 840 is further configured to:
[0182] After the order is successfully dispatched, the order dispatch result of the user who placed the order is sent to the target server corresponding to the target order;
[0183] Store the order dispatch results of the order-placing user in the order dispatch result pool, and set a timer for the order dispatch results of the order-placing user;
[0184] When the timer reaches the time threshold, the order result of the user who placed the order is deleted from the order result pool; or, after receiving feedback information sent by the target server, the order result of the user who placed the order is deleted from the order result pool, wherein the feedback information is sent by the target server after receiving the order result of the user who placed the order.
[0185] In one possible implementation, the cancellation module 840 is further configured to:
[0186] After canceling other orders initiated by the user who placed the order in the pending order pool, a cancellation instruction is sent to the server corresponding to each of the other orders to notify the server corresponding to each of the other orders to cancel the orders initiated by the user who placed the order.
[0187] Based on the same inventive concept, this application provides an electronic device, which is described below with reference to... Figure 7 To describe an electronic device 90 according to this embodiment of the present application. Figure 7 The electronic device 90 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0188] like Figure 7As shown, the electronic device 90 is presented in the form of a general-purpose electronic device. The components of the electronic device 90 may include, but are not limited to: at least one processor 91, at least one memory 92, and a bus 93 connecting different system components (including memory 92 and processor 91).
[0189] Bus 93 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the various bus structures.
[0190] The memory 92 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 921 and / or cache memory 922, and may further include read-only memory (ROM) 923.
[0191] The memory 92 may also include a program / utility 925 having a set (at least one) of program modules 924, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0192] Electronic device 90 can also communicate with one or more external devices 94 (e.g., keyboard, pointing device, etc.), and with one or more devices that enable a user to interact with electronic device 90, and / or with any device that enables electronic device 90 to communicate with one or more other electronic devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 95. Furthermore, electronic device 90 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 96. As shown, network adapter 96 communicates with other modules used in electronic device 90 via bus 93. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 90, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0193] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium that, when executed by a processor, enables the processor to perform any of the methods described above. Since the principle by which the computer-readable storage medium solves the problem is similar to the platform dispatching method, the implementation of the computer-readable storage medium can be found in the implementation of the method; repeated details will not be elaborated further.
[0194] Based on the same inventive concept, this application also provides a computer program product, which includes computer program code. When the computer program code is run on a computer, it causes the computer to execute any of the methods described above. Since the principle by which the above computer program product solves the problem is similar to that of the platform dispatching method, the implementation of the above computer program product can refer to the implementation of the method, and repeated details will not be described again.
[0195] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0196] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0197] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more processes in a flowchart and / or one or more blocks in a block diagram.
[0198] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more blocks in the block diagram.
[0199] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for platform dispatching, the method comprising: The method comprises the following steps: After determining that the current platform capacity is less than the platform capacity threshold, if a first order initiated by a user through a booking end of any server is received and it is determined that the dispatch result pool does not contain a dispatch result of the user, the first order is added to the to-be-dispatched pool, wherein the dispatch result is stored in the dispatch result pool after a corresponding user is successfully dispatched; When dispatching for the user, based on the order information of the first order, it is determined whether there is a second order that meets the preset condition in the to-be-dispatched pool except the first order, wherein the second order is initiated by the user through a booking end of another server, and the preset condition includes part or all of the following information: the same communication identifier information as the first order; the distance deviation between the location information of the first order is not greater than a preset value, and the location information includes the start location information and / or the end location information; the time difference with the order time of the first order is not greater than a time threshold; If so, based on the reference proportion array and the normalized value corresponding to the judgment index, the first selection weight of the first order and the second selection weight corresponding to each second order are determined, the selection probability value corresponding to the first order and each second order is determined based on the first selection weight and the second selection weight, the order with the maximum probability value is selected as the target order from the first order and each second order, and the user is dispatched based on the order information of the target order; one order corresponds to one normalized value corresponding to the judgment index; After successful dispatch, other orders initiated by the user in the to-be-dispatched pool are cancelled.
2. The method of claim 1, wherein, The method for determining whether the dispatch result pool contains the dispatch result of the user comprises the following steps: Obtain the order information corresponding to each dispatch result in the dispatch result pool; Based on the order information of the first order, query the dispatch result that meets the preset condition from the obtained order information corresponding to each dispatch result; If so, it is determined that the dispatch result pool contains the dispatch result of the user; If not, it is determined that the dispatch result pool does not contain the dispatch result of the user.
3. The method of claim 1 or 2, wherein, The judgment index includes part or all of the following indexes: order time index, order price index, number of simultaneous call types index, dispatch range restriction factor index, and channel order return rate index.
4. The method of claim 3, wherein, After successful dispatch, the method further comprises the following steps: Send the dispatch result of the user to the target server corresponding to the target order; Store the dispatch result of the user in the dispatch result pool and set a timer for the dispatch result of the user; When the timer reaches the time threshold, delete the dispatch result of the user in the dispatch result pool; or, after receiving the feedback information sent by the target server, delete the dispatch result of the user in the dispatch result pool, wherein the feedback information is sent by the target server after receiving the dispatch result of the user.
5. The method of claim 4, wherein, after canceling the other orders initiated by the orderer in the order pool to be assigned, further comprising: sending a cancel instruction to a server corresponding to each of the other orders, to inform the server corresponding to each of the other orders to cancel the order initiated by the orderer.
6. A platform dispatching device, characterized by, comprising: a first determination module configured to, after determining that the current platform capacity is less than a platform capacity threshold, add a first order initiated by an orderer through an order terminal of any server to an order pool to be assigned, if the first order is determined not to be included in an assignment result pool of the orderer, wherein the assignment result is stored in the assignment result pool after successfully assigning a corresponding orderer; a second determination module configured to, when assigning the order for the orderer, determine whether a second order that meets a preset condition exists in the order pool to be assigned, based on order information of the first order, wherein the second order is initiated by the orderer through an order terminal of another server, and the preset condition includes some or all of the following information: the same communication identifier information as the first order; a distance deviation between location information of the first order and the second order is not greater than a preset value, the location information including start location information and / or end location information; a time difference between the order time of the first order and the second order is not greater than a time threshold; a selection and assignment module configured to, if the second order exists, determine a first selection weight of the first order and a second selection weight corresponding to each of the second orders, based on a reference proportion array and a normalized value corresponding to a judgment index, determine a selection probability value corresponding to the first order and each of the second orders based on the first selection weight and the second selection weight corresponding to each of the second orders, and select an order with the maximum selection probability value from the first order and each of the second orders as a target order, and assign the order for the orderer based on order information of the target order, one order corresponding to one normalized value corresponding to the judgment index; a cancel module configured to, after successful assignment, cancel other orders initiated by the orderer in the order pool to be assigned.
7. An electronic device, comprising: comprising: a memory configured to store computer programs or instructions; a processor configured to execute the computer programs or instructions in the memory, so that the method of any one of claims 1-5 is executed.
8. A computer-readable storage medium, characterized in that, When the instructions in the storage medium are executed by the processor, the processor can execute the method of any one of claims 1-5.
9. A computer program product, characterised in that, The computer program product comprises computer program code, when the computer program code is run on a computer, so that the computer executes the above method of any one of claims 1-5.
Citation Information
Patent Citations
Repeated order placing prevention method and device based on Redis database
CN113610259A
Method for filtering repeated orders of online car-hailing
CN113643104A