WO2019047431A1 - 信息推送方法和装置 - Google Patents

信息推送方法和装置 Download PDF

Info

Publication number
WO2019047431A1
WO2019047431A1 PCT/CN2017/118688 CN2017118688W WO2019047431A1 WO 2019047431 A1 WO2019047431 A1 WO 2019047431A1 CN 2017118688 W CN2017118688 W CN 2017118688W WO 2019047431 A1 WO2019047431 A1 WO 2019047431A1
Authority
WO
WIPO (PCT)
Prior art keywords
order
unallocated
delivery
address
unallocated order
Prior art date
Application number
PCT/CN2017/118688
Other languages
English (en)
French (fr)
Inventor
耿艳坤
徐明泉
Original Assignee
北京小度信息科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京小度信息科技有限公司 filed Critical 北京小度信息科技有限公司
Publication of WO2019047431A1 publication Critical patent/WO2019047431A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Definitions

  • the present disclosure relates to the field of computer technologies, and in particular, to the field of Internet technologies, and in particular, to an information push method and apparatus.
  • the current order scheduling mechanism is based on the business circle, that is, the logistics dispatching system divides the received orders according to their respective business circles. For each business circle, the order of the business circle is assigned to the delivery personnel who deliver the goods in the business circle. .
  • the service scope of the merchant is often limited to the service scope of the business district, and the user cannot purchase goods exceeding a certain area.
  • the embodiment of the present disclosure provides A1, an information pushing method, the method includes: acquiring attribute information of a plurality of unallocated orders in a target area; and clustering the unallocated orders based on the attribute information to generate at least one cluster; a cluster that groups unallocated orders within the cluster to generate at least one unallocated order group; assigns a corresponding delivery client to at least one unassigned order group, and pushes the assigned unallocated order group to the corresponding delivery client
  • the attribute information of the order is not assigned.
  • the method before obtaining the attribute information of the plurality of unallocated orders in the target area, the method further includes: determining a matching degree between the unallocated order and the at least one delivery client; respectively, based on the unallocated order The degree of matching with at least one delivery client, the unallocated order is assigned to the matched target delivery client; the unallocated order is filtered out as an unallocated order that does not match the target delivery client. To update unallocated orders.
  • determining the degree of matching between the unallocated order and the at least one delivery client comprising: obtaining attribute information of the unallocated order and order information of the order allocated to the at least one delivery client, wherein the attribute The information and the order information include pick-up address information, delivery address information, and expected delivery time; based on the attribute information of the unallocated order and the order information of the order assigned to the delivery client, the pick-up address of the unallocated order is determined and assigned to The pick-up address distance between the pick-up address of the order of the delivery client, the shipping address distance between the delivery address of the unassigned order and the shipping address of the order assigned to the delivery client, and the expected delivery time of the unallocated order The time interval between the expected delivery time of the order assigned to the delivery client; based on the pickup address distance, the delivery address distance, and the time interval, determining the degree of matching between the unallocated order and the at least one delivery client, respectively.
  • A4 The method as described in A2, determining the degree of matching between the unallocated order and the at least one delivery client, comprising: acquiring an order group of at least one delivery client; and comparing the similarity of the unordered order in the statistical order group to be greater than or equal to The number of orders with a preset first similarity threshold; the ratio of the number of calculated statistics to the total number of orders for the order group; if the ratio is greater than or equal to the preset ratio threshold, the order will be unallocated with the order in the order group The highest similarity is determined as the match between the unassigned order and the delivery client.
  • A5. The method according to any one of A2-A4, wherein the attribute information includes pick-up address information and delivery address information; and clustering the unallocated order, including: initializing the pick-up address corresponding to any unallocated order
  • the current pick-up address and the corresponding shipping address are the initial current shipping addresses, and the clustering step is performed.
  • the clustering step includes: determining the first by using the current pick-up address as the center and the preset first distance threshold as the radius.
  • the area is determined by using the preset second distance threshold as the center, and determining the second area; determining whether there is a corresponding pickup address in the first area, and the corresponding delivery address is in the second area Unallocated order within; if it exists, the unallocated order determined is divided into the same unallocated order sub-collection, and the pick-up address corresponding to any unallocated order in the unallocated order sub-set is taken as the current pick-up address, The corresponding shipping address continues to perform the clustering step as the current shipping address; the unallocated orders in each unallocated order sub-collection are grouped into one class.
  • the attribute information includes pick-up address information, delivery address information, and expected delivery time; and grouping the unallocated orders in the cluster to generate at least one unallocated order group, including: Picking address information, shipping address information, and expected delivery time for each unallocated order in the cluster, determining order similarity between each unallocated order; generating at least one unallocated order group, wherein each unallocated order The order similarity between any unallocated orders in the group is greater than the preset second similarity threshold.
  • A7 The method of A6, wherein the at least one unallocated order group is assigned a corresponding delivery client, including: for each unallocated order group, based on attribute information of the unallocated order in the unallocated order group and each delivery client Information, generating a score for each of the delivery clients of the unallocated order group; assigning, to the unallocated order group, a delivery client having a score greater than or equal to a preset score threshold based on a maximum weight matching algorithm.
  • an information pushing device the device includes: an obtaining unit configured to acquire attribute information of a plurality of unallocated orders in the target area; and a clustering unit configured to allocate the unallocated based on the attribute information
  • the order is clustered to generate at least one cluster;
  • the grouping unit is configured to group unallocated orders within the cluster for each cluster to generate at least one unallocated order group;
  • the pushing unit is configured to be used for at least one
  • the distribution order group assigns the corresponding delivery client, and pushes the attribute information of the unallocated order in the assigned unallocated order group to the corresponding delivery client.
  • the device further comprising: a determining unit configured to determine a degree of matching between the unallocated order and the at least one delivery client; and an allocating unit configured to separately and at least one based on the unallocated order
  • the matching degree between the delivery clients, the unallocated order is assigned to the matched target delivery client;
  • the update unit is configured to filter the unallocated orders from the unallocated orders to the unallocated orders that do not match the target delivery client as the new un-allocated orders. Assign an order to update an unassigned order.
  • the determining unit comprising: a first obtaining module, configured to acquire attribute information of the unallocated order and order information of the order allocated to the at least one delivery client, wherein the attribute information and the order information are included Pick-up address information, delivery address information, and expected delivery time; the first determining module is configured to determine the pick-up address of the unallocated order based on the attribute information of the unallocated order and the order information of the order assigned to the delivery client The pickup address distance between the pickup addresses of the orders assigned to the delivery client, the delivery address distance between the delivery address of the unassigned order and the delivery address of the order assigned to the delivery client, and the expected delivery of the unallocated order a time interval between the time and the expected delivery time of the order assigned to the delivery client; the second determining module configured to determine the unallocated order and the at least one based on the pickup address distance, the delivery address distance, and the time interval The degree of matching between delivery clients.
  • the determining unit comprising: a second acquiring module, configured to acquire an order group of at least one delivery client; and a statistics module configured to calculate that the similarity between the order group and the unallocated order is greater than or equal to a preset number of orders of a first similarity threshold; a calculation module configured to calculate a ratio of the quantity of the statistics to the total number of orders of the order group; and a third determining module configured to: if the ratio is greater than or equal to a preset ratio Threshold, the highest similarity between the unallocated order and the order in the order group is determined as the match between the unallocated order and the delivery client.
  • the clustering step includes: determining, by using the current pick-up address as the center, a preset first distance threshold value as a radius.
  • a first area determining a second area by using a preset second distance threshold as a center, and determining whether there is a corresponding pickup address in the first area, and the corresponding delivery address is in the first
  • An unallocated order in the second area a feedback module configured to determine the unallocated if there is an unallocated order in which the corresponding pickup address is in the first area and the corresponding shipping address is in the second area
  • the order is divided into the same unallocated order sub-collection, and the pick-up address corresponding to any unallocated order in the unallocated order sub-collection is taken as the current pick-up address and the corresponding shipping address as the current delivery.
  • the cargo address continues to perform the clustering step; the clustering module is configured to aggregate the unallocated orders in each unallocated order sub-collection into one class.
  • the attribute information includes pick-up address information, delivery address information, and expected delivery time; and a grouping unit, comprising: a determining module configured to pick up the unallocated orders based on the cluster Address information, shipping address information, and expected delivery time, determining order similarity between each unallocated order; generating a module configured to generate at least one unallocated order group, wherein each of the unallocated order groups The order similarity between unallocated orders is greater than a preset second similarity threshold.
  • the pushing unit is further configured to: for each unallocated order group, generate, for the unallocated order group, based on the attribute information of the unallocated order in the unallocated order group and the information of each delivery client.
  • the score of each delivery client based on the maximum weight matching algorithm, assigning the unallocated order group a delivery client whose score is greater than or equal to the preset score threshold.
  • An embodiment of the present disclosure provides C1, an electronic device, the electronic device includes: one or more processors; and a storage device, configured to store one or more programs, when the one or more programs are one or more of the foregoing
  • the processor when executed, causes the one or more processors described above to implement the method as described in any of the implementations of A1 through A7.
  • Embodiments of the present disclosure provide D1.
  • a computer readable storage medium having stored thereon a computer program, wherein the computer program is executed by a processor to implement a method as described in any one of Embodiments A1 through A7.
  • the information pushing method and apparatus acquires attribute information of a plurality of unallocated orders in the target area, and then clusters the plurality of unallocated orders based on the attribute information to generate at least one cluster, and then Clusters, grouping unallocated orders in the cluster, generating at least one unallocated order group, and finally assigning a corresponding delivery client to the at least one unallocated order group, and pushing the assigned to the corresponding delivery client
  • the attribute information of the unallocated order in the order group is not allocated, which provides another order scheduling mechanism and realizes targeted information push.
  • FIG. 1 is an exemplary system architecture diagram to which the present disclosure may be applied;
  • FIG. 2 is a flow chart of one embodiment of an information push method in accordance with the present disclosure
  • FIG. 3 is a schematic diagram of an application scenario of an information push method according to the present disclosure.
  • FIG. 4 is a flow chart of still another embodiment of an information push method according to the present disclosure.
  • FIG. 5 is a schematic structural diagram of an embodiment of an information pushing apparatus according to the present disclosure.
  • FIG. 6 is a block diagram showing the structure of a computer system suitable for use in implementing a server of an embodiment of the present disclosure.
  • FIG. 1 illustrates an exemplary system architecture 100 in which an embodiment of an information push method or information push device of the present disclosure may be applied.
  • system architecture 100 can include distribution clients 1011, 1012, networks 1021, 1022, 1023, user terminals 1031, 1032, 1033, and server 104.
  • the network 1021 is used to provide a medium for communication links between the distribution clients 1011, 1012 and the server 104; the network 1022 is used to provide a communication link between the distribution clients 1011, 1012 and the user terminals 1031, 1032, 1033. Medium; network 1023 is used to provide a medium for communication links between user terminals 1031, 1032, 1033 and server 104.
  • Networks 1021, 1022, 1023 may include various types of connections, such as wired, wireless communication links, fiber optic cables, and the like.
  • the delivery personnel can use the delivery client 1011, 1012 to interact with the server 104 through the network 1021 to obtain attribute information of the order from the server 104, etc.; the delivery personnel can also use the delivery client 1011, 1012 to communicate with the user terminals 1031, 1032 through the network 1022. 1033 interacts to send messages to the user terminals 1031, 1032, 1033, etc.; the user can interact with the server 104 over the network 1023 using the user terminals 1031, 1032, 1033 to submit an order and store the attribute information of the order in the server 104 or the like.
  • Various communication client applications such as take-out applications, shopping applications, financial payment applications, instant communication software, and logistics information query applications, can be installed on the user terminals 1031, 1032, and 1033.
  • the delivery clients 1011, 1012 may be various electronic devices having a display screen and supporting information processing, messaging, and reception, including but not limited to smartphones, tablets, and the like.
  • the user terminals 1031, 1032, 1033 may be various electronic devices having a display screen and supporting information processing, message transmission and reception, including but not limited to smart phones, tablets, smart watches, laptop portable computers, desktop computers, and the like. .
  • the server 104 may be a server that provides various services, such as a background order server that pushes attribute information of an order to the delivery clients 1011, 1012.
  • the background order server may obtain attribute information of a plurality of unallocated orders in the target area, and the attribute information may be order information submitted by the user terminals 1031, 1032, and 1033; and then, the plurality of unallocated orders may be performed based on the attribute information.
  • Clustering generating at least one cluster; and then, for each cluster, unallocated orders in the cluster may be grouped to generate at least one unallocated order group; finally, at least one unallocated order group may be assigned a corresponding delivery customer And, the distribution client may be sent the attribute information of the unallocated order in the unallocated order group to the delivery client 1011, 1012.
  • the information pushing method provided by the embodiment of the present disclosure is generally performed by the server 104. Accordingly, the information pushing device is generally disposed in the server 104.
  • the information pushing method includes the following steps:
  • Step 201 Acquire attribute information of a plurality of unallocated orders in the target area.
  • the electronic device (for example, the server shown in FIG. 1) on which the information pushing method runs may obtain attribute information of a plurality of unallocated orders in the target area locally or remotely, and the unallocated order may be An order that has received a user's order request without being assigned.
  • the attribute information may be order information of the order, and may include an order identifier, an item name and an item quantity involved in the order, a remark information, a consignee name, a telephone number, and the like.
  • the electronic device may directly obtain the attribute information of the unallocated order from the local storage; or when the electronic device supports the logistics/takeaway application on the terminal device.
  • the server When the server is in the background, it can obtain the attribute information of the unallocated order from the terminal device through a wired connection or a wireless connection.
  • each unallocated order can be assigned to the delivery client for the delivery personnel to deliver the items involved in the assigned order.
  • the target area may be a certain city, for example, Beijing, Shanghai, etc.; or may be a certain area that is pre-divided, for example, within the three rings, within the five rings, and the like.
  • the delivery stage may include an order waiting allocation stage, an order allocation stage, a delivery personnel order receiving stage, a delivery personnel picking stage, a delivery personnel delivery stage, a customer receipt object stage, and customer feedback. Stage and so on.
  • Step 202 Cluster the unallocated orders based on the attribute information to generate at least one cluster.
  • the electronic device may cluster each unallocated order based on the attribute information, and generate at least one cluster.
  • the process of dividing a collection of physical or abstract objects into multiple classes of similar objects is called clustering.
  • a cluster generated by clustering is a collection of data objects that are similar to objects in the same cluster and different from objects in other clusters.
  • the attribute information may further include an identifier of the business circle to which the order belongs.
  • the business circle also known as the buying circle or the business circle, refers to a certain range or region that forms a radiation to the customers in a certain economic region, centering on the shopping mall or commercial area, for example, the business district of Beijing.
  • the attribute information of the order includes the business circle identifier “Wangfu” well”.
  • the electronic device may obtain identifiers of the business circles to which the respective orders are included in the foregoing attribute information; and then, the unallocated orders with the same identifiers may be grouped into one class. For example, unallocated orders received by various merchants in the Zhongguancun business district can be grouped into one category; unallocated orders received by various merchants in the Xidan business circle can be grouped into one category; Unallocated orders received by each merchant are grouped together.
  • the attribute information may further include pick-up address information and shipping address information.
  • the foregoing electronic device may perform a clustering step by using the pick-up address corresponding to any unallocated order as the initial current pick-up address and the corresponding shipping address as the initial current shipping address, and the clustering step may include: Centering on the current pickup address and determining a first area with a preset first distance threshold (eg, 100 meters) as a radius; centering on the current delivery address and using a preset second distance threshold (eg, , 200 meters) is the radius, the second area is determined; and it is determined whether there is an unallocated order in which the corresponding pickup address is in the first area and the corresponding delivery address is in the second area.
  • a preset first distance threshold eg, 100 meters
  • a preset second distance threshold eg, 200 meters
  • the determined unallocated order is divided into the same unallocated order sub-set, and Taking the pick-up address corresponding to any unallocated order in the above-mentioned unallocated order sub-set as the current pick-up address and the corresponding shipping address as the current shipping address and continuing to perform the above-mentioned clustering step until the above-mentioned electronic device If it is determined that there is no unallocated order in which the corresponding pickup address is in the first area and the corresponding delivery address is in the second area, the unallocated order in the divided unallocated order sub-sets may be divided. Gathered into one category.
  • Step 203 For each cluster, group the unallocated orders in the cluster to generate at least one unallocated order group.
  • the electronic device may group the unallocated orders in the cluster to generate at least one unallocated order group. This way of clustering unallocated orders and then performing group operations reduces the number of group orders and thus reduces time consumption.
  • the electronic device may group the unallocated orders with the same pick-up address into one group, for example, group the unallocated orders received by the same merchant into one group; the electronic device may also send Unallocated orders with the same address or the same building are grouped into one group. For example, unallocated orders with delivery addresses of “Yingdu Building” are grouped together.
  • the attribute information may further include a desired delivery time.
  • the electronic device may further determine the order similarity between the respective unallocated orders based on the pick-up address information, the shipping address information, and the expected delivery time of each unallocated order in the cluster.
  • the electronic device may first determine a pickup address distance between pick-up addresses corresponding to each unallocated order; after that, determine a distance of a delivery address between the delivery addresses corresponding to each unallocated order; Determining the time interval between the expected delivery times corresponding to the respective unallocated orders; finally, determining the order similarity between the respective unallocated orders based on the above-mentioned pickup address distance, the above-mentioned delivery address distance, and the above-mentioned time interval.
  • the electronic device may pre-store a correspondence table between the pickup address distance and the order similarity, a correspondence table between the delivery address distance and the order similarity, and a correspondence table between the time interval and the order similarity, and the electronic device.
  • the order similarity corresponding to the pick-up address distance may be queried as the first similarity in the correspondence table of the pick-up address distance and the order similarity; the shipping address is queried in the correspondence table of the delivery address distance and the order similarity.
  • the similarity of the order corresponding to the distance is taken as the second similarity; the similarity of the order corresponding to the time interval is queried as the third similarity in the correspondence table of the time interval and the similarity of the order; and the first similarity and the second similarity are acquired.
  • the electronic device may generate at least one unallocated order group, wherein an order similarity threshold between any unallocated orders in each unallocated order group is greater than a preset second similarity threshold.
  • an order similarity threshold is 0.6
  • the order similarity between the unallocated order A and the unallocated order B in each unallocated order group generated is greater than 0.6
  • unallocated order A and unallocated order C is greater than 0.6.
  • Step 204 Assign a corresponding delivery client to the at least one unallocated order group, and push the attribute information of the unallocated order in the allocated unallocated order group to the corresponding delivery client.
  • the electronic device may allocate a corresponding delivery client to the at least one unallocated order group, and push the attribute information of the unallocated order in the allocated unallocated order group to the corresponding delivery client, where the delivery is performed.
  • the client can be the terminal device used by the delivery personnel during the order delivery process.
  • the electronic device may push the order information to the delivery client in the form of a short message, or push the order information to the delivery client in the form of a message reminder of the external sale/logistics application.
  • the electronic device may allocate at least one unallocated order group to the delivery client whose delivery speed is higher than the preset delivery speed threshold; or assign at least one unallocated order group to all the unfinished delivery The delivery client whose remaining time of the order is less than the preset second remaining time threshold; at least one unallocated order group may also be assigned to the pickup location corresponding to any unallocated order in the unallocated order group A delivery client whose distance is less than a preset distance threshold.
  • the electronic device may not allocate the unallocated order group to the delivery client in real time, but first cache the allocation relationship.
  • the allocation timing is set, and the unallocated order group is assigned to the corresponding delivery client.
  • the foregoing allocation opportunity may include, but is not limited to, at least one of the following: the remaining time of the unallocated order group is less than a preset first remaining time threshold, wherein the remaining time of the unallocated order group may be the current time and the unallocated order group The time interval between the earliest expected delivery times; the number of outstanding orders of the delivery personnel is less than the preset order quantity threshold; the remaining time for the delivery personnel to complete the outstanding orders is less than the preset second remaining time threshold.
  • the electronic device may determine at least one scoring factor based on each unallocated order in the unallocated order group and information of each delivery client. And generating, by the foregoing various scoring factors, a score of each delivery client for the unallocated order group, wherein the information of the delivery client may include at least one of the following: a score of the delivery client, and an average delivery speed of the delivery client.
  • the at least one scoring factor may include, but is not limited to, a distance between a location where the delivery client delivers all outstanding orders and a pickup address corresponding to the order in which the delivery order is first in the unallocated order group; current time The time interval between the earliest expected delivery time of the unallocated orders in the unallocated order group; the time required for the delivery client to deliver all outstanding orders; the timeout for the delivery client to deliver the unallocated order group; The rating of the delivery client; the average delivery speed of the above delivery client.
  • the electronic device may score the delivery client multiple times for each scoring factor, and for each scoring factor, obtain a score corresponding to the scoring factor and a weight corresponding to the scoring factor.
  • the electronic device may first delete the delivery client whose score for the unallocated order group is less than the preset score threshold, and retain the delivery client whose score is greater than the preset score threshold, and may Establishing a pre-allocation relationship table between the unallocated order group and each delivery client, where the pre-allocation relationship table may be used to store a score of the delivery client to which the unallocated order group can be allocated and the corresponding delivery client; afterwards, the electronic device
  • the distribution client in the pre-allocation relationship table may be allocated to the unallocated order group based on a maximum weight matching algorithm (Kuhn-Munkres algorithm), so that the distribution client to which the allocated unallocated order group is assigned is allocated The sum of the scores of the unallocated order groups to arrive is the maximum.
  • Kuhn-Munkres algorithm maximum weight matching algorithm
  • the above-mentioned maximum weight matching algorithm is also called a bipartite graph maximum weight matching algorithm.
  • the bipartite graph means that all vertices can be divided into two sets, for example, an X set and an Y set, wherein any two points in the X set are not connected. And any two points in the Y set are not connected, and the points in the X set are connected with the points in the Y set.
  • a bipartite graph is a weighted bipartite graph.
  • the bipartite graph maximum weight matching algorithm is a matching algorithm that finds the weights of the respective lines added to the maximum value.
  • each vertex in the X set is set as each unallocated order group
  • each vertex in the Y set is set as each delivery client
  • the weight of the connection between the unallocated order group and the delivery client is set to be for this unallocated order group.
  • the distribution client scores a matching set that maximizes the sum of the links, and assigns each unallocated order group to the corresponding delivery client according to the matching set.
  • FIG. 3 is a schematic diagram of an application scenario of the information pushing method according to the embodiment.
  • the server 301 first obtains attribute information 304 of a plurality of unallocated orders in the target area "Haidian District", and the unallocated order 305 includes an unallocated order A, an unallocated order B, an unallocated order C, Unallocated order D, unallocated order E and unallocated order F, wherein the attribute information of unallocated order A is: Wudaokou business circle, expected delivery time 11:45; the attribute information of unallocated order B is: Zhongguancun Circle and expected delivery time is 12:40; the attribute information of unallocated order C is: Wudaokou business circle, expected delivery time of 12 o'clock; attribute information of unallocated order D is: Zhongguancun business circle, expected delivery time 11:00 10 points; the attribute information of the unallocated order E is: Zhongguguancun business circle, expected delivery time 11:00 10
  • the server 301 aggregates the orders belonging to the Wudaokou business circle into one category, generates a cluster 306 including the unallocated order A and the unallocated order C, and aggregates the orders belonging to the Zhongguancun business circle into one category, and generates an unallocated order B. , the order D of the unallocated order D, the unallocated order E, and the unallocated order F.
  • the server 301 can group unallocated orders with a time difference between the expected delivery times of less than thirty minutes into a group, and generate an unallocated order group A 308 including the unallocated order B and the unallocated order E, and Unallocated order group B 309 including unallocated order D and unallocated order F. Finally, the server 301 can push the attribute information 310 of each unallocated order in the unallocated order group A 308 to the delivery client 302, and push the attribute information 311 of each unallocated order in the unallocated order group B 309 to the delivery client 303.
  • the method provided by the above embodiment of the present disclosure performs grouping operation after clustering unallocated orders, and finally, assigns each unallocated order group to the corresponding delivery client, and pushes the assigned to the corresponding delivery client.
  • the attribute information of the order provides another order scheduling mechanism to achieve targeted information push.
  • the flow 400 of the information pushing method includes the following steps:
  • Step 401 Determine a degree of matching between the unallocated order and the at least one delivery client.
  • the electronic device on which the information push method operates may first determine the degree of matching between the unallocated order and the at least one delivery client.
  • the delivery client may be an electronic device used by the delivery personnel to deliver the order, and the delivery client stores the unprocessed, processed, and processed orders of the delivery personnel.
  • the electronic device may determine the degree of matching between the unallocated order and the delivery client according to the order information of the uncompleted order of the delivery client.
  • the electronic device may first obtain attribute information of an unallocated order and order information of an order allocated to the at least one delivery client, where the attribute information and the allocation of the unallocated order
  • the order information for the order of the above delivery client may include pickup address information, delivery address information, and expected delivery time. Thereafter, the electronic device may determine, between the pick-up address of the unallocated order and the pick-up address of the order allocated to the delivery client, based on the attribute information of the unallocated order and the order information of the order allocated to the delivery client.
  • the shipping address distance, the shipping address distance between the shipping address of the unallocated order and the shipping address of the order assigned to the delivery client, and the expected delivery time of the unallocated order and the order assigned to the delivery client The time interval between expected delivery times.
  • the electronic device may determine a degree of matching between the unallocated order and the at least one delivery client based on the pickup address distance, the delivery address distance, and the time interval.
  • the electronic device may determine, according to the pick-up address distance, a matching degree between the unallocated order and the at least one delivery client, and determine, according to the delivery address distance, the unallocated order and the at least one delivery client respectively.
  • the degree of matching between the above-mentioned unallocated orders and the at least one delivery client may be determined based on the above-mentioned time interval; and may also be based on the above-mentioned pick-up address distance, the weight corresponding to the pick-up address distance, the above The delivery address distance, the weight corresponding to the delivery address distance, the time interval, and the weight corresponding to the time interval determine a matching degree between the unallocated order and the at least one delivery client.
  • the electronic device may pre-store a correspondence table of the pickup address distance and the matching degree, a correspondence table of the delivery address distance and the matching degree, and a correspondence table between the time interval and the matching degree, and the electronic device may be in the electronic device.
  • the matching degree corresponding to the pick-up address distance in the correspondence table of the pick-up address distance and the matching degree is used as the first matching degree;
  • the matching corresponding to the shipping address distance is found in the correspondence table of the shipping address distance and the matching degree
  • the degree is used as the second matching degree;
  • the matching degree corresponding to the time interval is queried as the third matching degree in the correspondence table of the time interval and the matching degree; and the first matching degree, the second matching degree, and the third matching degree are correspondingly acquired.
  • the electronic device may also use the first matching degree as the matching degree between the unallocated order and the delivery client; or the second matching degree may be used as the matching degree between the unallocated order and the delivery client; The third matching degree is used as the degree of matching between the unallocated order and the delivery client.
  • the electronic device may first acquire an order group of the at least one delivery client, and the processing order and the unprocessed order on the delivery client may be pre-grouped by the electronic device to generate At least one order group. Then, the electronic device may count the number of orders in the order group of the delivery client that are similar to the unallocated order greater than or equal to the preset first similarity threshold, wherein the first similarity threshold may be the unallocated.
  • the pressure value of the business circle of the order is inversely proportional. The larger the pressure value of the business circle is, the lower the first similarity threshold is, the easier the order is to merge.
  • the pressure of the above business circle is the number of outstanding orders in the business circle and the number of uncompleted orders in the business circle.
  • a preset ratio threshold for example, 0.5
  • the electronic device may select the largest ratio of the number of orders in the order group that is greater than or equal to the first similarity threshold to the total number of orders of the order group.
  • the order group is used as the target order group, and the highest similarity between the order in the target order group and the unallocated order can be determined as the matching degree of the above unallocated order with the above-mentioned delivery client.
  • Step 402 Assign an unallocated order to the matched target delivery client based on the degree of matching between the unallocated order and the at least one delivery client.
  • the electronic device may allocate a target delivery client that matches the unallocated order based on the degree of matching between the unallocated order determined in step 401 and the at least one delivery client.
  • the electronic device may allocate the unallocated order to the delivery client with the highest matching degree, or determine the delivery client whose matching degree is higher than the preset matching degree threshold, and determine the distribution client that is the above-mentioned determined delivery client.
  • a distribution client allocates the above unallocated order.
  • the electronic device may push the attribute information of the unallocated order to the target delivery client that matches the unallocated order, and the attribute information may include at least one of the following: an order identifier, an item name involved in the order, and an item quantity, and the remarks Information, consignee name and phone number, pick-up address information, shipping address information, user order time and expected delivery time.
  • step 403 an unallocated order that does not match the target delivery client is filtered out from the unallocated order as a new unallocated order to update the unallocated order.
  • the electronic device may filter the unallocated order from the unallocated order as an unallocated order that does not match the target delivery client. To update unallocated orders.
  • Step 404 Acquire attribute information of a plurality of unallocated orders in the target area.
  • Step 405 Cluster the unallocated orders based on the attribute information to generate at least one cluster.
  • Step 406 For each cluster, group the unallocated orders in the cluster to generate at least one unallocated order group.
  • Step 407 Assign a corresponding delivery client to the at least one unallocated order group, and push the attribute information of the unallocated order in the allocated unallocated order group to the corresponding delivery client.
  • steps 404-407 are substantially the same as the operations of steps 201-204, and details are not described herein again.
  • the flow 400 of the information push method in the present embodiment highlights the unallocated orders and the delivery customers before clustering the unallocated orders, as compared with the embodiment corresponding to FIG.
  • the present disclosure provides an embodiment of an information pushing apparatus, and the apparatus embodiment corresponds to the method embodiment shown in FIG. Used in a variety of electronic devices.
  • the information pushing apparatus 500 of the present embodiment includes an obtaining unit 501, a clustering unit 502, a grouping unit 503, and a pushing unit 504.
  • the obtaining unit 501 is configured to acquire attribute information of a plurality of unallocated orders in the target area;
  • the clustering unit 502 is configured to cluster the unallocated orders based on the attribute information to generate at least one cluster; and configure the grouping unit 503
  • the unallocated orders in the cluster are grouped to generate at least one unallocated order group;
  • the pushing unit 504 is configured to allocate a corresponding delivery client to the at least one unallocated order group, and deliver the corresponding delivery The attribute information of the unallocated order in the unallocated order group to which the client push is assigned.
  • the specific processing of the obtaining unit 501, the clustering unit 502, the grouping unit 503, and the pushing unit 504 of the information pushing apparatus 500 may refer to step 201, step 202, step 203, and step 204 in the corresponding embodiment of FIG. .
  • the information pushing apparatus 500 may further include a determining unit (not shown), an allocating unit (not shown), and an updating unit (not shown). .
  • the determining unit may first determine the degree of matching between the unallocated order and the at least one delivery client.
  • the delivery client may be an electronic device used by the delivery personnel to deliver the order, and the delivery client stores the unprocessed, processed, and processed orders of the delivery personnel.
  • the determining unit may determine the matching degree between the unallocated order and the delivery client according to the order information of the uncompleted order of the delivery client.
  • the allocating unit may allocate a target delivery client that matches the unallocated order based on the degree of matching between the unallocated order determined by the determining unit and the at least one delivery client.
  • the foregoing allocating unit may allocate the unallocated order to the delivery client with the highest matching degree, or may determine the delivery client whose matching degree is higher than the preset matching degree threshold, and determine to any of the above-mentioned determined delivery clients.
  • a distribution client allocates the above unallocated order.
  • the above-mentioned allocating unit may push the attribute information of the unallocated order to the target delivery client matched with the unallocated order.
  • the update unit may filter the unallocated order that does not match the target delivery client as an unallocated order from the unallocated order to update the unallocated order.
  • the determining unit may include a first acquiring module (not shown), a first determining module (not shown), and a second determining module (not shown) show).
  • the first obtaining module may first obtain the attribute information of the unallocated order and the order information of the order allocated to the at least one delivery client, wherein the attribute information of the unallocated order and the order information of the order allocated to the delivery client may be Includes pick-up address information, shipping address information, and expected delivery time. Thereafter, the first determining module may determine, between the pick-up address of the unallocated order and the pick-up address of the order allocated to the delivery client, based on the attribute information of the unallocated order and the order information of the order allocated to the delivery client.
  • the pickup address distance, the delivery address distance between the delivery address of the unallocated order and the delivery address of the order assigned to the delivery client, and the expected delivery time of the unallocated order and the distribution to the delivery client The time interval between the expected delivery times of the order.
  • the second determining module may determine a matching degree between the unallocated order and the at least one delivery client based on the pickup address distance, the delivery address distance, and the time interval.
  • the second determining module may determine, according to the pick-up address distance, a matching degree between the unallocated order and the at least one delivery client respectively, or determine, according to the shipping address distance, that the unallocated order and the at least one delivery are respectively
  • the matching degree between the clients; the matching degree between the unallocated order and the at least one delivery client may be determined based on the foregoing time interval; and the weight corresponding to the pick-up address distance and the pick-up address distance may be further And a weight corresponding to the delivery address distance, the delivery address distance, the time interval, and the weight corresponding to the time interval, and determining a matching degree between the unallocated order and the at least one delivery client respectively.
  • the determining unit may further include a second acquiring module (not shown in the figure), a statistic module (not shown), and a computing module (not shown) And a third determining module (not shown in the figure).
  • the second obtaining module may first acquire an order group of the at least one delivery client, and the processing in-process order and the unprocessed order on the delivery client may be pre-grouped to generate at least one order group.
  • the statistics module may count the number of orders in the order group of the delivery client that are similar to the unallocated order greater than or equal to the preset first similarity threshold, wherein the first similarity threshold may be the unallocated
  • the pressure value of the business circle of the order is inversely proportional.
  • the pressure of the above business circle is the number of outstanding orders in the business circle and the number of uncompleted orders in the business circle.
  • the ratio of the number of delivery personnel to be delivered; then, the calculation module may calculate a ratio of the calculated quantity to the total number of orders of the order group, and determine whether the ratio is greater than or equal to a preset ratio threshold, for example, 0.5 Determining whether the similarity between the order of the order group and the unallocated order is greater than the first similarity threshold; if yes, the third determining module may set the highest order of the unallocated order and the order in the order group
  • the similarity is determined as the degree of matching between the above unallocated order and the above-mentioned delivery client.
  • the order group having the largest ratio of the number of orders greater than or equal to the first similarity threshold to the total number of orders of the order group in the order group may be selected.
  • the target order group the highest similarity between the order in the target order group and the unallocated order can be determined as the matching degree of the above unallocated order with the above-mentioned delivery client.
  • the attribute information may further include pick-up address information and shipping address information.
  • the above clustering unit may include a processing module (not shown), a feedback module (not shown), and a clustering module (not shown).
  • the processing module may perform the clustering step by using the pick-up address corresponding to any unallocated order as the initial current pick-up address and the corresponding shipping address as the initial current shipping address, and the clustering step may include: Determining the first area centering on the current pickup address and using a preset first distance threshold value; determining the second area by using the current delivery address as the center and using the preset second distance threshold as a radius; Determining whether there is an unallocated order in which the corresponding pickup address is in the first area and the corresponding delivery address is in the second area.
  • the feedback module divides the determined unallocated order into the same unallocated order subset. And taking the pick-up address corresponding to any unallocated order in the above-mentioned unallocated order sub-set as the current pick-up address, the corresponding shipping address as the current shipping address, and continuing to perform the above clustering step until The processing module determines that there is no unallocated order in which the corresponding pickup address is in the first area and the corresponding delivery address is in the second area, and the clustering module may divide each unallocated order. Unallocated orders in a subcollection are grouped together.
  • the attribute information may further include a desired delivery time.
  • the above-described grouping unit 503 may include a determination module (not shown in the drawing) and a generation module (not shown in the drawing). The determining module may first determine the order similarity between the respective unallocated orders based on the pickup address information, the shipping address information, and the expected delivery time of each unallocated order in the cluster.
  • the determining module may first determine a pick-up address distance between pick-up addresses corresponding to each unallocated order; after that, determine a distance of a shipping address between shipping addresses corresponding to each unallocated order; Determining the time interval between the expected delivery times corresponding to the respective unallocated orders; finally, determining the order similarity between the respective unallocated orders based on the above-mentioned pickup address distance, the above-mentioned delivery address distance, and the above-mentioned time interval.
  • the determining module may pre-store a correspondence table of the pick-up address distance and the order similarity, a correspondence table of the shipping address distance and the order similarity, and a correspondence table between the time interval and the order similarity, and the determining module.
  • the order similarity corresponding to the pick-up address distance may be queried as the first similarity in the correspondence table of the pick-up address distance and the order similarity; the shipping address is queried in the correspondence table of the delivery address distance and the order similarity.
  • the similarity of the order corresponding to the distance is taken as the second similarity; the similarity of the order corresponding to the time interval is queried as the third similarity in the correspondence table of the time interval and the similarity of the order; and the first similarity and the second similarity are acquired.
  • the generating module may generate at least one unallocated order group, wherein an order similarity threshold between any unallocated orders in each unallocated order group is greater than a preset second similarity threshold.
  • the pushing unit 504 may determine at least one scoring factor based on each unallocated order in the unallocated order group and information of each delivery client. And generating, by the foregoing various scoring factors, a score of each delivery client for the unallocated order group, wherein the information of the delivery client may include at least one of the following: a rating of the delivery client, and an average delivery of the delivery client. Speed, order information corresponding to the uncompleted order of the above delivery client.
  • the at least one scoring factor may include, but is not limited to, a distance between a location where the delivery client delivers all outstanding orders and a pickup address corresponding to the order in which the delivery order is first in the unallocated order group; current time The time interval between the earliest expected delivery time of the unallocated orders in the unallocated order group; the time required for the delivery client to deliver all outstanding orders; the timeout for the delivery client to deliver the unallocated order group; The rating of the delivery client; the average delivery speed of the above delivery client.
  • the pushing unit 504 may perform multiple times on the distribution client for each scoring factor, and for each scoring factor, obtain a score corresponding to the scoring factor and the score corresponding to the scoring factor.
  • the pushing unit 504 may first delete the delivery client whose score for the unallocated order group is less than the preset score threshold, and retain the delivery client whose score is greater than the preset score threshold, and A pre-allocation relationship table between the unallocated order group and each delivery client may be established, where the pre-allocation relationship table may be used to store a score of the delivery client to which the unallocated order group can be assigned and the corresponding delivery client;
  • the unit 504 may allocate the delivery client in the pre-allocation relationship table to the unallocated order group based on the maximum weight matching algorithm, so that the distribution client to which the allocated unallocated order group is assigned is allocated for the unallocated The sum of the scores of the order group is the maximum.
  • the above-mentioned maximum weight matching algorithm is also called a bipartite graph maximum weight matching algorithm.
  • the bipartite graph means that all vertices can be divided into two sets, for example, an X set and an Y set, wherein any two points in the X set are not connected. And any two points in the Y set are not connected, and the points in the X set are connected with the points in the Y set.
  • a bipartite graph is a weighted bipartite graph.
  • the bipartite graph maximum weight matching algorithm is a matching algorithm that finds the weights of the respective lines added to the maximum value.
  • each vertex in the X set is set as each unallocated order group
  • each vertex in the Y set is set as each delivery client
  • the weight of the connection between the unallocated order group and the delivery client is set to be for this unallocated order group.
  • the distribution client scores a matching set that maximizes the sum of the links, and assigns each unallocated order group to the corresponding delivery client according to the matching set.
  • FIG. 6 a block diagram of a computer system 600 suitable for use in implementing a server in accordance with an embodiment of the present invention is shown.
  • the server shown in FIG. 6 is merely an example and should not impose any limitation on the function and scope of use of the embodiments of the present disclosure.
  • computer system 600 includes a central processing unit (CPU) 601 that can be loaded into a program in random access memory (RAM) 603 according to a program stored in read only memory (ROM) 602 or from storage portion 608. And perform various appropriate actions and processes.
  • RAM random access memory
  • ROM read only memory
  • RAM random access memory
  • various programs and data required for the operation of the system 600 are also stored.
  • the CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604.
  • An input/output (I/O) interface 605 is also coupled to bus 604.
  • the following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including, for example, a liquid crystal display (LCD) and a speaker; a storage portion 608 including a hard disk or the like; and including, for example, a LAN card, a modem
  • the communication portion 609 of the network interface card performs communication processing via a network such as the Internet.
  • Driver 610 is also coupled to I/O interface 605 as needed.
  • a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory or the like, is mounted on the drive 610 as needed so that a computer program read therefrom is installed into the storage portion 608 as needed.
  • an embodiment of the present disclosure includes a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for executing the method illustrated in the flowchart.
  • the computer program can be downloaded and installed from the network via communication portion 609, and/or installed from removable media 611.
  • the central processing unit (CPU) 601 the above-described functions defined in the method of the present disclosure are performed.
  • the above computer readable medium of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two.
  • the computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of computer readable storage media may include, but are not limited to, electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain or store a program, which can be used by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a data signal that is propagated in the baseband or as part of a carrier, carrying computer readable program code. Such propagated data signals can take a variety of forms including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the computer readable signal medium can also be any computer readable medium other than a computer readable storage medium, which can transmit, propagate, or transport a program for use by or in connection with the instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium can be transmitted by any suitable medium, including but not limited to wireless, wire, optical cable, RF, etc., or any suitable combination of the foregoing.
  • each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the logic functions for implementing the specified.
  • Executable instructions can also occur in a different order than that illustrated in the drawings. For example, two successively represented blocks may in fact be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or operation. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments of the present invention may be implemented by software or by hardware.
  • the described unit may also be provided in the processor, for example, as a processor including an acquisition unit, a clustering unit, a grouping unit, and a pushing unit.
  • the names of these units do not in any way constitute a limitation on the unit itself.
  • the acquisition unit may also be described as "a unit that acquires attribute information of a plurality of unallocated orders within the target area.”
  • the present disclosure also provides a computer readable medium, which may be included in the apparatus described in the above embodiments, or may be separately present and not incorporated in the apparatus.
  • the computer readable medium carries one or more programs, when the one or more programs are executed by the device, causing the device to: obtain attribute information of a plurality of unallocated orders in the target area; based on the attribute information, unassigned The order is clustered to generate at least one cluster; for each cluster, the unallocated orders in the cluster are grouped to generate at least one unallocated order group; the corresponding delivery client is assigned to at least one unallocated order group, and The corresponding distribution client pushes the attribute information of the unallocated order in the unallocated order group to which it is assigned.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开实施例公开了信息推送方法和装置。该方法的一具体实施方式包括:获取目标区域内多个未分配订单的属性信息;基于属性信息,对未分配订单进行聚类,生成至少一个簇;针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;为至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。该实施方式提供了另一种订单调度机制,实现了富于针对性的信息推送。

Description

信息推送方法和装置
相关申请的交叉引用
本公开要求于2017年9月5日提交的中国专利申请号为“201710791184.1”的优先权,其全部内容作为整体并入本公开中。
技术领域
本公开涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及信息推送方法和装置。
背景技术
随着互联网行业的快速发展,物流行业改变了人们的购物方式,外卖行业改变了人们的餐饮行为。稳定、可靠、快捷、准时地完成订单配送是获得用户信赖以及提高企业竞争力的重要手段。目前的订单调度机制是基于商圈的,即物流调度系统将接收到的订单按照所属商圈进行划分,对于每个商圈,将该商圈的订单分配给在该商圈进行配送的配送人员。但是在这种订单调度机制下,商户的服务范围往往被限制在所属商圈的服务范围内,用户也不能购买超过一定区域范围的商品。
发明内容
本公开实施例的目的在于提出一种改进的信息推送方法和装置,来解决以上背景技术部分提到的技术问题。
本公开实施例提供A1、一种信息推送方法,该方法包括:获取目标区域内多个未分配订单的属性信息;基于属性信息,对未分配订单进行聚类,生成至少一个簇;针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;为至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单 组中未分配订单的属性信息。
A2、如A1上述的方法,在获取目标区域内多个未分配订单的属性信息之前,该方法还包括:确定未分配订单分别与至少一个配送客户端之间的匹配度;基于未分配订单分别与至少一个配送客户端之间的匹配度,将未分配订单分配给所匹配的目标配送客户端;从未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
A3、如A2上述的方法,确定未分配订单分别与至少一个配送客户端之间的匹配度,包括:获取未分配订单的属性信息以及分配给至少一个配送客户端的订单的订单信息,其中,属性信息以及订单信息均包括取货地址信息、送货地址信息和期望送达时间;基于未分配订单的属性信息以及分配给配送客户端的订单的订单信息,确定未分配订单的取货地址与分配给配送客户端的订单的取货地址之间的取货地址距离、未分配订单的送货地址与分配给配送客户端的订单的送货地址之间的送货地址距离和未分配订单的期望送达时间与分配给配送客户端的订单的期望送达时间之间的时间间隔;基于取货地址距离、送货地址距离和时间间隔,确定未分配订单分别与至少一个配送客户端之间的匹配度。
A4、如A2上述的方法,确定未分配订单分别与至少一个配送客户端之间的匹配度,包括:获取至少一个配送客户端的订单组;统计订单组中与未分配订单的相似度大于或等于预设的第一相似度阈值的订单的数量;计算统计的数量与订单组的订单总数量的比值;如果比值大于或等于预设的比值阈值,则将未分配订单与订单组中的订单的最高相似度确定为未分配订单与配送客户端的匹配度。
A5、如A2-A4之一上述的方法,属性信息包括取货地址信息和送货地址信息;以及对未分配订单进行聚类,包括:以任一未分配订单对应的取货地址为初始的当前取货地址、对应的送货地址为初始的当前送货地址,执行聚类步骤,聚类步骤包括:以当前取货地址为中心、以预设的第一距离阈值为半径,确定第一区域;以当前送货地址为中心、以预设的第二距离阈值为半径,确定第二区域;确定是否存在对 应的取货地址在第一区域内、且对应的送货地址在第二区域内的未分配订单;如果存在,则将确定出的未分配订单划分到同一未分配订单子集合中,将未分配订单子集合中任一未分配订单对应的取货地址作为当前取货地址、对应的送货地址作为当前送货地址继续执行聚类步骤;将各个未分配订单子集合中的未分配订单聚为一类。
A6、如A1上述的方法,属性信息包括取货地址信息、送货地址信息和期望送达时间;以及对该簇内的未分配订单进行分组,生成至少一个未分配订单组,包括:基于该簇内的各个未分配订单的取货地址信息、送货地址信息和期望送达时间,确定各个未分配订单之间的订单相似度;生成至少一个未分配订单组,其中,每个未分配订单组中的任意未分配订单之间的订单相似度大于预设的第二相似度阈值。
A7、如A6上述的方法,为至少一个未分配订单组分配对应的配送客户端,包括:对于每个未分配订单组,基于该未分配订单组中未分配订单的属性信息和各个配送客户端的信息,生成针对该未分配订单组的各个配送客户端的分数;基于最大权匹配算法,为该未分配订单组分配分数大于或等于预设的分数阈值的配送客户端。
本公开实施例提供B1、一种信息推送装置,该装置包括:获取单元,配置用于获取目标区域内多个未分配订单的属性信息;聚类单元,配置用于基于属性信息,对未分配订单进行聚类,生成至少一个簇;分组单元,配置用于针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;推送单元,配置用于为至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
B2、如B1上述的装置,该装置还包括:确定单元,配置用于确定未分配订单分别与至少一个配送客户端之间的匹配度;分配单元,配置用于基于未分配订单分别与至少一个配送客户端之间的匹配度,将未分配订单分配给所匹配的目标配送客户端;更新单元,配置用于从未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
B3、如B2上述的装置,确定单元,包括:第一获取模块,配置 用于获取未分配订单的属性信息以及分配给至少一个配送客户端的订单的订单信息,其中,属性信息以及订单信息均包括取货地址信息、送货地址信息和期望送达时间;第一确定模块,配置用于基于未分配订单的属性信息以及分配给配送客户端的订单的订单信息,确定未分配订单的取货地址与分配给配送客户端的订单的取货地址之间的取货地址距离、未分配订单的送货地址与分配给配送客户端的订单的送货地址之间的送货地址距离和未分配订单的期望送达时间与分配给配送客户端的订单的期望送达时间之间的时间间隔;第二确定模块,配置用于基于取货地址距离、送货地址距离和时间间隔,确定未分配订单分别与至少一个配送客户端之间的匹配度。
B4、如B2上述的装置,确定单元,包括:第二获取模块,配置用于获取至少一个配送客户端的订单组;统计模块,配置用于统计订单组中与未分配订单的相似度大于或等于预设的第一相似度阈值的订单的数量;计算模块,配置用于计算统计的数量与订单组的订单总数量的比值;第三确定模块,配置用于如果比值大于或等于预设的比值阈值,则将未分配订单与订单组中的订单的最高相似度确定为未分配订单与配送客户端的匹配度。
B5、如B2-B4之一上述的装置,属性信息包括取货地址信息和送货地址信息;以及聚类单元,包括:处理模块,配置用于以任一未分配订单对应的取货地址为初始的当前取货地址、对应的送货地址为初始的当前送货地址,执行聚类步骤,聚类步骤包括:以当前取货地址为中心、以预设的第一距离阈值为半径,确定第一区域;以当前送货地址为中心、以预设的第二距离阈值为半径,确定第二区域;确定是否存在对应的取货地址在第一区域内、且对应的送货地址在第二区域内的未分配订单;反馈模块,配置用于如果存在对应的取货地址在第一区域内、且对应的送货地址在第二区域内的未分配订单,则将确定出的未分配订单划分到同一未分配订单子集合中,将未分配订单子集合中任一未分配订单对应的取货地址作为当前取货地址、对应的送货地址作为当前送货地址继续执行聚类步骤;聚类模块,配置用于将各个未分配订单子集合中的未分配订单聚为一类。
B6、如B1上述的装置,属性信息包括取货地址信息、送货地址信息和期望送达时间;以及分组单元,包括:确定模块,配置用于基于该簇内的各个未分配订单的取货地址信息、送货地址信息和期望送达时间,确定各个未分配订单之间的订单相似度;生成模块,配置用于生成至少一个未分配订单组,其中,每个未分配订单组中的任意未分配订单之间的订单相似度大于预设的第二相似度阈值。
B7、如B6上述的装置,推送单元进一步配置用于:对于每个未分配订单组,基于该未分配订单组中未分配订单的属性信息和各个配送客户端的信息,生成针对该未分配订单组的各个配送客户端的分数;基于最大权匹配算法,为该未分配订单组分配分数大于或等于预设的分数阈值的配送客户端。
本公开实施例提供了C1、一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如A1到A7中任一实现方式描述的方法。
本公开实施例提供了D1、一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如A1到A7中任一实现方式描述的方法。
本公开实施例提供的信息推送方法和装置,通过获取目标区域内多个未分配订单的属性信息,而后基于上述属性信息,对多个未分配订单进行聚类,生成至少一个簇,再针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组,最后,为上述至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息,从而提供了另一种订单调度机制,实现了富于针对性的信息推送。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构图;
图2是根据本公开的信息推送方法的一个实施例的流程图;
图3是根据本公开的信息推送方法的应用场景的一个示意图;
图4是根据本公开的信息推送方法的又一个实施例的流程图;
图5是根据本公开的信息推送装置的一个实施例的结构示意图;
图6是适于用来实现本公开实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的信息推送方法或信息推送装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括配送客户端1011、1012,网络1021、1022、1023,用户终端1031、1032、1033和服务器104。其中,网络1021用以在配送客户端1011、1012和服务器104之间提供通信链路的介质;网络1022用以在配送客户端1011、1012和用户终端1031、1032、1033之间提供通信链路的介质;网络1023用以在用户终端1031、1032、1033和服务器104之间提供通信链路的介质。网络1021、1022、1023可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
配送人员可以使用配送客户端1011、1012通过网络1021与服务器104交互,以从服务器104中获取订单的属性信息等;配送人员也可以使用配送客户端1011、1012通过网络1022与用户终端1031、1032、1033交互,以向用户终端1031、1032、1033发送消息等;用户可以使用用户终端1031、1032、1033通过网络1023与服务器104交互, 以提交订单并将订单的属性信息存储在服务器104中等。用户终端1031、1032、1033上可以安装有各种通讯客户端应用,例如外卖类应用、购物类应用、金融支付类应用、即时通信软件、物流信息查询类应用等。
配送客户端1011、1012可以是具有显示屏并且支持信息处理、消息发送与接收的各种电子设备,包括但不限于智能手机、平板电脑等等。用户终端1031、1032、1033可以是具有显示屏并且支持信息处理、消息发送与接收的各种电子设备,包括但不限于智能手机、平板电脑、智能手表、膝上型便携计算机和台式计算机等等。
服务器104可以是提供各种服务的服务器,例如向配送客户端1011、1012推送订单的属性信息的后台订单服务器。后台订单服务器可以获取目标区域内多个未分配订单的属性信息,上述属性信息可以为用户终端1031、1032、1033提交的订单信息;之后,可以基于上述属性信息,对上述多个未分配订单进行聚类,生成至少一个簇;而后,针对每个簇,可以将该簇中的未分配订单进行分组,生成至少一个未分配订单组;最后,可以为至少一个未分配订单组分配对应的配送客户端,并可以向配送客户端1011、1012发送分配到的未分配订单组中未分配订单的属性信息。
需要说明的是,本公开实施例所提供的信息推送方法一般由服务器104执行,相应地,信息推送装置一般设置于服务器104中。
应该理解,图1中的配送客户端、网络、用户终端和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的配送客户端、网络、用户终端和服务器。
继续参考图2,示出了根据本公开的信息推送方法的一个实施例的流程200。该信息推送方法,包括以下步骤:
步骤201,获取目标区域内多个未分配订单的属性信息。
在本实施例中,信息推送方法运行于其上的电子设备(例如图1所示的服务器)可以从本地或者远程地获取目标区域内多个未分配订单的属性信息,上述未分配订单可以为接收到用户的下单请求而未进行分配的订单。属性信息可以为订单的订单信息,可以包括订单标识, 订单所涉及的物品名称以及物品数量,备注信息,收货人名称以及电话号码等等。当订单已保存在电子设备的存储器中时,上述电子设备可以直接从本地的存储器获取上述未分配订单的属性信息;或者,当上述电子设备是对终端设备上的物流/外卖类应用进行支持的后台服务器时,其可以通过有线连接方式或者无线连接方式从上述终端设备获取上述未分配订单的属性信息。
在来自上述目标区域(例如某一城市)的订单进入物流流程后,即可以向配送客户端分配各个未分配订单,以供配送人员对分配到的订单所涉及的物品进行配送。
在本实施例中,上述目标区域可以为某一城市,例如,北京市、上海市等等;也可以为预先划分的某一区域,例如,三环内、五环内等等。在配送过程中,可以包括多个配送阶段,配送阶段可以包括订单等待分配阶段,订单分配阶段,配送人员接单阶段,配送人员取货阶段,配送人员送货阶段,客户签收物件阶段以及客户反馈阶段等等。
步骤202,基于属性信息,对未分配订单进行聚类,生成至少一个簇。
在本实施例中,在步骤201中获取到属性信息之后,上述电子设备可以基于上述属性信息,对各个未分配订单进行聚类,并生成至少一个簇。将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。
在本实施例中,属性信息还可以包括订单所属商圈的标识符。商圈也称购买圈或商势圈,是指在一定经济区域内,以商场或商业区为中心向周围扩展形成辐射,对顾客形成吸引力的一定范围或区域,例如,北京市的商圈可以包括:中关村商圈、西单商圈、王府井商圈等等。作为示例,当订单的取货地址对应的商户为王府井商圈内的商户,且王府井商圈的标识符为“王府井”时,则该订单的属性信息中包括商圈标识符“王府井”。上述电子设备可以获取上述各个属性信息中包括的各个订单所属商圈的标识符;之后,可以将上述标识符相同的各个未分配订单聚为一类。例如,可以将中关村商圈内的各个商户接收 到的未分配订单聚为一类;可以将西单商圈内的各个商户接收到的未分配订单聚为一类;可以将王府井商圈内的各个商户接收到的未分配订单聚为一类。
在本实施例的一些可选的实现方式中,属性信息还可以包括取货地址信息和送货地址信息。上述电子设备可以以任一未分配订单对应的取货地址为初始的当前取货地址、并以对应的送货地址为初始的当前送货地址,执行聚类步骤,上述聚类步骤可以包括:以当前取货地址为中心、并以预设的第一距离阈值(如,100米)为半径,确定第一区域;以当前送货地址为中心,并以预设的第二距离阈值(如,200米)为半径,确定第二区域;确定是否存在对应的取货地址在上述第一区域内、且对应的送货地址在上述第二区域内的未分配订单。若存在对应的取货地址在上述第一区域内、且对应的送货地址在上述第二区域内的未分配订单,则将确定出的未分配订单划分到同一未分配订单子集合中,并将上述划分出的未分配订单子集合中的任一未分配订单对应的取货地址作为当前取货地址、对应的送货地址作为当前送货地址并继续执行上述聚类步骤,直至上述电子设备确定出不存在对应的取货地址在上述第一区域内、且对应的送货地址在上述第二区域内的未分配订单,则可以将划分出的各个未分配订单子集合中的未分配订单聚为一类。
步骤203,针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组。
在本实施例中,针对步骤202中生成的至少一个簇中的每个簇,上述电子设备可以对该簇中的未分配订单进行分组,生成至少一个未分配订单组。这种对未分配订单先进行聚类而后执行分组操作的方式,减少了分组订单数量,从而减小时间消耗。
在本实施例中,上述电子设备可以将对应的取货地址相同的未分配订单分为一组,例如,将同一商户所接收到的未分配订单分为一组;上述电子设备也可以将送货地址为同一小区或同一大厦的未分配订单分为一组,例如,将送货地址均为“盈都大厦”的未分配订单分为一组。
在本实施例的一些可选的实现方式中,属性信息还可以包括期望送达时间。上述电子设备还可以首先基于该簇内的各个未分配订单的取货地址信息、送货地址信息和期望送达时间,确定各个未分配订单之间的订单相似度。具体的,上述电子设备可以首先确定各个未分配订单对应的取货地址之间的取货地址距离;之后,可以确定各个未分配订单对应的送货地址之间的送货地址距离;然后,可以确定各个未分配订单对应的期望送达时间之间的时间间隔;最后,可以基于上述取货地址距离、上述送货地址距离和上述时间间隔,确定各个属未分配订单之间的订单相似度。例如,上述电子设备中可以预先存储有上述取货地址距离与订单相似度的对应表、上述送货地址距离与订单相似度的对应表和上述时间间隔与订单相似度的对应表,上述电子设备可以在取货地址距离与订单相似度的对应表中查询到取货地址距离所对应的订单相似度作为第一相似度;在送货地址距离与订单相似度的对应表中查询到送货地址距离所对应的订单相似度作为第二相似度;在时间间隔与订单相似度的对应表中查询到时间间隔所对应的订单相似度作为第三相似度;再获取第一相似度、第二相似度和第三相似度所对应的权重;求取第一相似度与对应的权重之积、第二相似度与对应的权重之积以及第三相似度与对应的权重之积;最后,对各个乘积求和得到各个未分配订单之间的订单相似度。然后,上述电子设备可以生成至少一个未分配订单组,其中,每个未分配订单组中的任意未分配订单之间的订单相似度阈值大于预设的第二相似度阈值。作为示例,若上述订单相似度阈值为0.6,则生成的每个未分配订单组中的未分配订单A与未分配订单B之间的订单相似度大于0.6、未分配订单A与未分配订单C之间的订单相似度大于0.6、未分配订单B与未分配订单C之间的订单相似度大于0.6。
步骤204,为至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
在本实施例中,上述电子设备可以为上述至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配 订单组中未分配订单的属性信息,上述配送客户端可以为配送人员在订单配送过程中所使用的终端设备。上述电子设备可以以短信的形式向配送客户端推送订单信息,也可以以外卖/物流应用的消息提醒的形式向配送客户端推送订单信息。
在本实施例中,上述电子设备可以将至少一个未分配订单组分配给配送速度高于预设的配送速度阈值的配送客户端;也可以将至少一个未分配订单组分配给配送完所有未完成订单的剩余时间小于预设的第二剩余时间阈值的配送客户端;还可以将至少一个未分配订单组分配给当前所在位置与未分配订单组中的任一未分配订单对应的取货位置之间的距离小于预设的距离阈值的配送客户端。
在本实施例中,上述电子设备在确定出未分配订单组与配送客户端的分配关系之后,可以不将未分配订单组实时分配给配送客户端,而是先将分配关系进行缓存,当符合预设的分配时机,再将未分配订单组分配给对应的配送客户端。上述分配时机可以包括但不限于以下至少一项:未分配订单组的剩余时间小于预设的第一剩余时间阈值,其中,上述未分配订单组的剩余时间可以为当前时间与未分配订单组中最早的期望送达时间之间的时间间隔;配送人员的未完成订单的数量小于预设的订单数量阈值;配送人员完成未完成订单的剩余时间小于预设的第二剩余时间阈值。
在本实施例的一些可选的实现方式中,针对每个未分配订单组,上述电子设备可以基于该未分配订单组中的各个未分配订单以及各个配送客户端的信息,确定至少一个打分因素,再由上述各项打分因素,生成针对该未分配订单组的各个配送客户端的分数,其中,上述配送客户端的信息可以包括以下至少一项:上述配送客户端的评分、上述配送客户端的平均送货速度、上述配送客户端的未完成订单对应的订单信息。上述至少一个打分因素可以包括但不限于:配送客户端配送完所有未完成订单之后所在的位置距离该未分配订单组中配送顺序为第一的订单对应的取货地址之间的距离;当前时间与该未分配订单组中未分配订单中最早的期望送达时间之间的时间间隔;配送客户端配送完所有未完成订单需要的时间;配送客户端配送该未分配订单组的 超时情况;上述配送客户端的评分;上述配送客户端的平均送货速度。针对每个配送客户端,上述电子设备可以针对每个打分因素对该配送客户端进行多次评分,针对每个打分因素,求取针对该打分因素进行评分得到的分数与该打分因素对应的权重之积,最后将各个乘积相加得到该配送客户端的分数。之后,针对每个未分配订单组,上述电子设备可以首先删除针对该未分配订单组的分数小于预设的分数阈值的配送客户端,保留分数大于预设的分数阈值的配送客户端,并可以建立该未分配订单组与各个配送客户端的预分配关系表,上述预分配关系表可以用于存储该未分配订单组可分配给的配送客户端以及对应的配送客户端的分数;之后,上述电子设备可以基于最大权匹配算法(Kuhn-Munkres算法),为该未分配订单组分配上述预分配关系表中的配送客户端,以使得分配后的各个未分配订单组所分配到的配送客户端针对分配到的未分配订单组的分数之和为最大值。上述最大权匹配算法也被称为二分图最大权匹配算法,二分图是指:所有顶点可以被分成两个集,例如,X集和Y集,其中,X集中的任意两个点不相连,且Y集中的任意两个点也不相连,而X集中的点与Y集中的点有连线,当这些连线被赋予一定的权重时,这样的二分图为带权二分图。二分图最大权匹配算法是求取各个连线的权重相加为最大值的匹配算法。在这里,将X集中的各个顶点设置为各个未分配订单组,将Y集中的各个顶点设置为各个配送客户端,未分配订单组与配送客户端的连线的权重设置为针对这个未分配订单组该配送客户端的分数,求取使得各条连线相加之和为最大值的匹配集合,并可以按照上述匹配集合将各个未分配订单组分配给对应的配送客户端。
继续参见图3,图3是根据本实施例的信息推送方法的应用场景的一个示意图。在图3的应用场景中,服务器301首先获取到目标区域“海淀区”内多个未分配订单的属性信息304,未分配订单305包括未分配订单A、未分配订单B、未分配订单C、未分配订单D、未分配订单E和未分配订单F,其中,未分配订单A的属性信息为:五道口商圈、期望送达时间11点45分;未分配订单B的属性信息为:中关村商圈、期望送达时间12点40分;未分配订单C的属性信息为: 五道口商圈、期望送达时间12点;未分配订单D的属性信息为:中关村商圈、期望送达时间11点10分;未分配订单E的属性信息为:中关村商圈、期望送达时间12点50分;未分配订单F的属性信息为:中关村商圈、期望送达时间11点15分。之后,服务器301将属于五道口商圈的订单聚为一类,生成包括未分配订单A和未分配订单C的簇306,并将属于中关村商圈的订单聚为一类,生成包括未分配订单B、未分配订单D、未分配订单E和未分配订单F的簇307。然后,针对簇307,服务器301可以将期望送达时间之间的时间差小于三十分钟的未分配订单分成一组,生成包括未分配订单B和未分配订单E的未分配订单组A 308,以及包括未分配订单D和未分配订单F的未分配订单组B 309。最后,服务器301可以向配送客户端302推送未分配订单组A 308中各个未分配订单的属性信息310,向配送客户端303推送未分配订单组B 309中各个未分配订单的属性信息311。
本公开的上述实施例提供的方法通过将未分配订单进行聚类之后再进行分组操作,最后,将各个未分配订单组分配给对应的配送客户端,并向对应的配送客户端推送分配到的订单的属性信息,从而提供了另一种订单调度机制,实现了富于针对性的信息推送。
进一步参考图4,其示出了信息推送方法的又一个实施例的流程400。该信息推送方法的流程400,包括以下步骤:
步骤401,确定未分配订单分别与至少一个配送客户端之间的匹配度。
在本实施例中,信息推送方法运行于其上的电子设备(例如图1所示的服务器)可以首先确定未分配订单分别与至少一个配送客户端之间的匹配度。上述配送客户端可以为配送人员在进行订单配送时所使用的电子设备,上述配送客户端上存储有配送人员未处理、处理中和已处理的订单。上述电子设备可以根据配送客户端的未完成订单的订单信息,确定未分配订单分别与配送客户端之间的匹配度。
在本实施例的一些可选的实现方式中,上述电子设备可以首先获取未分配订单的属性信息以及分配给上述至少一个配送客户端的订单的订单信息,其中,上述未分配订单的属性信息和分配给上述配送客 户端的订单的订单信息均可以包括取货地址信息、送货地址信息和期望送达时间。之后,上述电子设备基于未分配订单的属性信息以及分配给上述配送客户端的订单的订单信息,可以确定上述未分配订单的取货地址与分配给上述配送客户端的订单的取货地址之间的取货地址距离、上述未分配订单的送货地址与分配给上述配送客户端的订单的送货地址之间的送货地址距离和上述未分配订单的期望送达时间与分配给上述配送客户端的订单的期望送达时间之间的时间间隔。最后,上述电子设备可以基于上述取货地址距离、上述送货地址距离和上述时间间隔,确定上述未分配订单分别与至少一个配送客户端之间的匹配度。上述电子设备可以基于上述取货地址距离,确定上述未分配订单分别与至少一个配送客户端之间的匹配度;也可以基于上述送货地址距离,确定上述未分配订单分别与至少一个配送客户端之间的匹配度;还可以基于上述时间间隔,确定上述未分配订单分别与至少一个配送客户端之间的匹配度;还可以基于上述取货地址距离、上述取货地址距离对应的权重、上述送货地址距离、上述送货地址距离对应的权重、上述时间间隔和上述时间间隔对应的权重,确定上述未分配订单分别与至少一个配送客户端之间的匹配度。
具体地,上述电子设备中可以预先存储有上述取货地址距离与匹配度的对应表、上述送货地址距离与匹配度的对应表和上述时间间隔与匹配度的对应表,上述电子设备可以在取货地址距离与匹配度的对应表中查询到取货地址距离所对应的匹配度作为第一匹配度;在送货地址距离与匹配度的对应表中查询到送货地址距离所对应的匹配度作为第二匹配度;在时间间隔与匹配度的对应表中查询到时间间隔所对应的匹配度作为第三匹配度;再获取第一匹配度、第二匹配度和第三匹配度所对应的权重;求取第一匹配度与对应的权重之积、第二匹配度与对应的权重之积以及第三匹配度与对应的权重之积;最后,对各个乘积求和得到未分配订单与配送客户端之间的匹配度。上述电子设备也可以将上述第一匹配度作为未分配订单与配送客户端之间的匹配度;也可以将第二匹配度作为未分配订单与配送客户端之间的匹配度;还可以将上述第三匹配度作为未分配订单与配送客户端之间的匹配 度。
在本实施例的一些可选的实现方式中,上述电子设备可以首先获取上述至少一个配送客户端的订单组,上述配送客户端上的处理中订单和未处理订单可以被上述电子设备预先分组,生成至少一个订单组。之后,上述电子设备可以统计配送客户端的订单组中与上述未分配订单的相似度大于或等于预设的第一相似度阈值的订单的数量,其中,上述第一相似度阈值可以与该未分配订单所属商圈压力值成反比,商圈压力值越大,第一相似度阈值越低,订单越容易合并,上述商圈压力值为商圈内存在的未完成订单数量与在该商圈内进行配送的配送人员数量之比;然后,可以计算统计出的数量与上述订单组的订单总数量的比值,并确定上述比值是否大于或等于预设的比值阈值,如,0.5,即确定上述订单组中是否存在一半以上的订单与上述未分配订单的相似度大于上述第一相似度阈值;若是,则可以将上述未分配订单与上述订单组中的订单的最高相似度确定为上述未分配订单与上述配送客户端的匹配度。需要说明的是,若配送客户端上存储有至少两个订单组,则上述电子设备可以选取订单组中大于或等于上述第一相似度阈值的订单的数量与订单组的订单总数量的比值最大的订单组作为目标订单组,并可以将目标订单组中的订单与未分配订单的最高相似度确定为上述未分配订单与上述配送客户端的匹配度。
步骤402,基于未分配订单分别与至少一个配送客户端之间的匹配度,将未分配订单分配给所匹配的目标配送客户端。
在本实施例中,上述电子设备可以基于步骤401中确定出的未分配订单分别与至少一个配送客户端之间的匹配度,分配与上述未分配订单匹配的目标配送客户端。上述电子设备可以将上述未分配订单分配给匹配度最高的配送客户端,也可以确定上述匹配度高于预设的匹配度阈值的配送客户端,并向上述确定出的配送客户端中的任一配送客户端分配上述未分配订单。上述电子设备可以向与上述未分配订单所匹配的目标配送客户端推送上述未分配订单的属性信息,上述属性信息可以包括以下至少一项:订单标识,订单所涉及的物品名称以及物品数量,备注信息,收货人名称以及电话号码,取货地址信息,送 货地址信息,用户下单时间和期望送达时间。
步骤403,从未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
在本实施例中,在步骤402中分配与未分配订单匹配的目标配送客户端之后,上述电子设备可以从未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
步骤404,获取目标区域内多个未分配订单的属性信息。
步骤405,基于属性信息,对未分配订单进行聚类,生成至少一个簇。
步骤406,针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组。
步骤407,为至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
在本实施例中,步骤404-407的操作与步骤201-204的操作基本相同,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的信息推送方法的流程400突出了在对未分配订单进行聚类之前,先将各个未分配订单与配送客户端进行匹配,以将符合条件的未分配订单分配给对应的配送客户端的步骤。由此,本实施例描述的方案可以先将符合分配条件的未分配订单进行分配,从而,提高了订单的配送效率。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种信息推送装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的信息推送装置500包括:获取单元501、聚类单元502、分组单元503和推送单元504。其中,获取单元501配置用于获取目标区域内多个未分配订单的属性信息;聚类单元502配置用于基于属性信息,对未分配订单进行聚类,生成至少一个簇;分组单元503配置用于针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;推送单元504配置用于为至少一个未分 配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
在本实施例中,信息推送装置500的获取单元501、聚类单元502、分组单元503和推送单元504的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203和步骤204。
在本实施例的一些可选的实现方式中,上述信息推送装置500还可以包括确定单元(图中未示出)、分配单元(图中未示出)和更新单元(图中未示出)。上述确定单元可以首先确定未分配订单分别与至少一个配送客户端之间的匹配度。上述配送客户端可以为配送人员在进行订单配送时所使用的电子设备,上述配送客户端上存储有配送人员未处理、处理中和已处理的订单。上述确定单元可以根据配送客户端的未完成订单的订单信息,确定未分配订单分别与配送客户端之间的匹配度。之后,上述分配单元可以基于确定单元确定出的未分配订单分别与至少一个配送客户端之间的匹配度,分配与上述未分配订单匹配的目标配送客户端。上述分配单元可以将上述未分配订单分配给匹配度最高的配送客户端,也可以确定上述匹配度高于预设的匹配度阈值的配送客户端,并向上述确定出的配送客户端中的任一配送客户端分配上述未分配订单。上述分配单元可以向与上述未分配订单所匹配的目标配送客户端推送上述未分配订单的属性信息。在分配单元分配与未分配订单匹配的目标配送客户端之后,上述更新单元可以从未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
在本实施例的一些可选的实现方式中,上述确定单元可以包括第一获取模块(图中未示出)、第一确定模块(图中未示出)和第二确定模块(图中未示出)。上述第一获取模块可以首先获取未分配订单的属性信息以及分配给上述至少一个配送客户端的订单的订单信息,其中,上述未分配订单的属性信息和分配给上述配送客户端的订单的订单信息均可以包括取货地址信息、送货地址信息和期望送达时间。之后,上述第一确定模块基于未分配订单的属性信息以及分配给上述配送客户端的订单的订单信息,可以确定上述未分配订单的取货地址与分配 给上述配送客户端的订单的取货地址之间的取货地址距离、上述未分配订单的送货地址与分配给上述配送客户端的订单的送货地址之间的送货地址距离和上述未分配订单的期望送达时间与分配给上述配送客户端的订单的期望送达时间之间的时间间隔。最后,上述第二确定模块可以基于上述取货地址距离、上述送货地址距离和上述时间间隔,确定上述未分配订单分别与至少一个配送客户端之间的匹配度。上述第二确定模块可以基于上述取货地址距离,确定上述未分配订单分别与至少一个配送客户端之间的匹配度;也可以基于上述送货地址距离,确定上述未分配订单分别与至少一个配送客户端之间的匹配度;还可以基于上述时间间隔,确定上述未分配订单分别与至少一个配送客户端之间的匹配度;还可以基于上述取货地址距离、上述取货地址距离对应的权重、上述送货地址距离、上述送货地址距离对应的权重、上述时间间隔和上述时间间隔对应的权重,确定上述未分配订单分别与至少一个配送客户端之间的匹配度。
在本实施例的一些可选的实现方式中,上述确定单元还可以包括第二获取模块(图中未示出)、统计模块(图中未示出)、计算模块(图中未示出)和第三确定模块(图中未示出)。上述第二获取模块可以首先获取上述至少一个配送客户端的订单组,上述配送客户端上的处理中订单和未处理订单可以被预先分组,生成至少一个订单组。之后,上述统计模块可以统计配送客户端的订单组中与上述未分配订单的相似度大于或等于预设的第一相似度阈值的订单的数量,其中,上述第一相似度阈值可以与该未分配订单所属商圈压力值成反比,商圈压力值越大,第一相似度阈值越低,订单越容易合并,上述商圈压力值为商圈内存在的未完成订单数量与在该商圈内进行配送的配送人员数量之比;然后,上述计算模块可以计算统计出的数量与上述订单组的订单总数量的比值,并确定上述比值是否大于或等于预设的比值阈值,如,0.5,即确定上述订单组中是否存在一半以上的订单与上述未分配订单的相似度大于上述第一相似度阈值;若是,则上述第三确定模块可以将上述未分配订单与上述订单组中的订单的最高相似度确定为上述未分配订单与上述配送客户端的匹配度。需要说明的是,若配送客 户端上存储有至少两个订单组,则可以选取订单组中大于或等于上述第一相似度阈值的订单的数量与订单组的订单总数量的比值最大的订单组作为目标订单组,并可以将目标订单组中的订单与未分配订单的最高相似度确定为上述未分配订单与上述配送客户端的匹配度。
在本实施例的一些可选的实现方式中,属性信息还可以包括取货地址信息和送货地址信息。上述聚类单元可以包括处理模块(图中未示出)、反馈模块(图中未示出)和聚类模块(图中未示出)。上述处理模块可以以任一未分配订单对应的取货地址为初始的当前取货地址、并以对应的送货地址为初始的当前送货地址,执行聚类步骤,上述聚类步骤可以包括:以当前取货地址为中心、并以预设的第一距离阈值为半径,确定第一区域;以当前送货地址为中心,并以预设的第二距离阈值为半径,确定第二区域;确定是否存在对应的取货地址在上述第一区域内、且对应的送货地址在上述第二区域内的未分配订单。若存在对应的取货地址在上述第一区域内、且对应的送货地址在上述第二区域内的未分配订单,则上述反馈模块将确定出的未分配订单划分到同一未分配订单子集合中,并将上述划分出的未分配订单子集合中的任一未分配订单对应的取货地址作为当前取货地址、对应的送货地址作为当前送货地址并继续执行上述聚类步骤,直至上述处理模块确定出不存在对应的取货地址在上述第一区域内、且对应的送货地址在上述第二区域内的未分配订单,则上述聚类模块可以将划分出的各个未分配订单子集合中的未分配订单聚为一类。
在本实施例的一些可选的实现方式中,属性信息还可以包括期望送达时间。上述分组单元503可以包括确定模块(图中未示出)和生成模块(图中未示出)。上述确定模块可以首先基于该簇内的各个未分配订单的取货地址信息、送货地址信息和期望送达时间,确定各个未分配订单之间的订单相似度。具体的,上述确定模块可以首先确定各个未分配订单对应的取货地址之间的取货地址距离;之后,可以确定各个未分配订单对应的送货地址之间的送货地址距离;然后,可以确定各个未分配订单对应的期望送达时间之间的时间间隔;最后,可以基于上述取货地址距离、上述送货地址距离和上述时间间隔,确定各 个属未分配订单之间的订单相似度。例如,上述确定模块中可以预先存储有上述取货地址距离与订单相似度的对应表、上述送货地址距离与订单相似度的对应表和上述时间间隔与订单相似度的对应表,上述确定模块可以在取货地址距离与订单相似度的对应表中查询到取货地址距离所对应的订单相似度作为第一相似度;在送货地址距离与订单相似度的对应表中查询到送货地址距离所对应的订单相似度作为第二相似度;在时间间隔与订单相似度的对应表中查询到时间间隔所对应的订单相似度作为第三相似度;再获取第一相似度、第二相似度和第三相似度所对应的权重;求取第一相似度与对应的权重之积、第二相似度与对应的权重之积以及第三相似度与对应的权重之积;最后,对各个乘积求和得到各个未分配订单之间的订单相似度。然后,上述生成模块可以生成至少一个未分配订单组,其中,每个未分配订单组中的任意未分配订单之间的订单相似度阈值大于预设的第二相似度阈值。
在本实施例的一些可选的实现方式中,针对每个未分配订单组,上述推送单元504可以基于该未分配订单组中的各个未分配订单以及各个配送客户端的信息,确定至少一个打分因素,再由上述各项打分因素,生成针对该未分配订单组的各个配送客户端的分数,其中,上述配送客户端的信息可以包括以下至少一项:上述配送客户端的评分、上述配送客户端的平均送货速度、上述配送客户端的未完成订单对应的订单信息。上述至少一个打分因素可以包括但不限于:配送客户端配送完所有未完成订单之后所在的位置距离该未分配订单组中配送顺序为第一的订单对应的取货地址之间的距离;当前时间与该未分配订单组中未分配订单中最早的期望送达时间之间的时间间隔;配送客户端配送完所有未完成订单需要的时间;配送客户端配送该未分配订单组的超时情况;上述配送客户端的评分;上述配送客户端的平均送货速度。针对每个配送客户端,上述推送单元504可以针对每个打分因素对该配送客户端进行多次评分,针对每个打分因素,求取针对该打分因素进行评分得到的分数与该打分因素对应的权重之积,最后将各个乘积相加得到该配送客户端的分数。之后,针对每个未分配订单组, 上述推送单元504可以首先删除针对该未分配订单组的分数小于预设的分数阈值的配送客户端,保留分数大于预设的分数阈值的配送客户端,并可以建立该未分配订单组与各个配送客户端的预分配关系表,上述预分配关系表可以用于存储该未分配订单组可分配给的配送客户端以及对应的配送客户端的分数;之后,上述推送单元504可以基于最大权匹配算法,为该未分配订单组分配上述预分配关系表中的配送客户端,以使得分配后的各个未分配订单组所分配到的配送客户端针对分配到的未分配订单组的分数之和为最大值。上述最大权匹配算法也被称为二分图最大权匹配算法,二分图是指:所有顶点可以被分成两个集,例如,X集和Y集,其中,X集中的任意两个点不相连,且Y集中的任意两个点也不相连,而X集中的点与Y集中的点有连线,当这些连线被赋予一定的权重时,这样的二分图为带权二分图。二分图最大权匹配算法是求取各个连线的权重相加为最大值的匹配算法。在这里,将X集中的各个顶点设置为各个未分配订单组,将Y集中的各个顶点设置为各个配送客户端,未分配订单组与配送客户端的连线的权重设置为针对这个未分配订单组该配送客户端的分数,求取使得各条连线相加之和为最大值的匹配集合,并可以按照上述匹配集合将各个未分配订单组分配给对应的配送客户端。
下面参考图6,其示出了适于用来实现本发明实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接 口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本公开的方法中限定的上述功能。需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等 等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、聚类单元、分组单元和推送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。例如,获取单元还可以被描述为“获取目标区域内多个未分配订单的属性信息的单元”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取目标区域内多个未分配订单的属性信息;基于属性信息,对未分配订单进行聚类,生成至少一个簇;针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;为至少一个未分配订单组分配对应的配送客户端,并向对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离 上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (16)

  1. 一种信息推送方法,其中,所述方法包括:
    获取目标区域内多个未分配订单的属性信息;
    基于所述属性信息,对所述未分配订单进行聚类,生成至少一个簇;
    针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;
    为所述至少一个未分配订单组分配对应的配送客户端,并向所述对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
  2. 根据权利要求1所述的方法,其中,在所述获取目标区域内多个未分配订单的属性信息之前,所述方法还包括:
    确定未分配订单分别与至少一个配送客户端之间的匹配度;
    基于所述未分配订单分别与至少一个配送客户端之间的匹配度,将未分配订单分配给所匹配的目标配送客户端;
    从所述未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
  3. 根据权利要求2所述的方法,其中,所述确定未分配订单分别与至少一个配送客户端之间的匹配度,包括:
    获取未分配订单的属性信息以及分配给所述至少一个配送客户端的订单的订单信息,其中,所述属性信息以及所述订单信息均包括取货地址信息、送货地址信息和期望送达时间;
    基于所述未分配订单的属性信息以及分配给所述配送客户端的订单的订单信息,确定所述未分配订单的取货地址与分配给所述配送客户端的订单的取货地址之间的取货地址距离、所述未分配订单的送货地址与分配给所述配送客户端的订单的送货地址之间的送货地址距离和所述未分配订单的期望送达时间与分配给所述配送客户端的订单的 期望送达时间之间的时间间隔;
    基于所述取货地址距离、所述送货地址距离和所述时间间隔,确定所述未分配订单分别与至少一个配送客户端之间的匹配度。
  4. 根据权利要求2所述的方法,其中,所述确定未分配订单分别与至少一个配送客户端之间的匹配度,包括:
    获取所述至少一个配送客户端的订单组;
    统计所述订单组中与所述未分配订单的相似度大于或等于预设的第一相似度阈值的订单的数量;
    计算统计的数量与所述订单组的订单总数量的比值;
    如果所述比值大于或等于预设的比值阈值,则将所述未分配订单与所述订单组中的订单的最高相似度确定为所述未分配订单与所述配送客户端的匹配度。
  5. 根据权利要求1-4之一所述的方法,其中,属性信息包括取货地址信息和送货地址信息;以及
    所述对所述未分配订单进行聚类,包括:
    以任一未分配订单对应的取货地址为初始的当前取货地址、对应的送货地址为初始的当前送货地址,执行聚类步骤,所述聚类步骤包括:以当前取货地址为中心、以预设的第一距离阈值为半径,确定第一区域;以当前送货地址为中心、以预设的第二距离阈值为半径,确定第二区域;确定是否存在对应的取货地址在所述第一区域内、且对应的送货地址在所述第二区域内的未分配订单;
    如果存在,则将确定出的未分配订单划分到同一未分配订单子集合中,将未分配订单子集合中任一未分配订单对应的取货地址作为当前取货地址、对应的送货地址作为当前送货地址继续执行所述聚类步骤;
    将各个未分配订单子集合中的未分配订单聚为一类。
  6. 根据权利要求1所述的方法,其中,属性信息包括取货地址信 息、送货地址信息和期望送达时间;以及
    所述对该簇内的未分配订单进行分组,生成至少一个未分配订单组,包括:
    基于该簇内的各个未分配订单的取货地址信息、送货地址信息和期望送达时间,确定各个未分配订单之间的订单相似度;
    生成至少一个未分配订单组,其中,每个未分配订单组中的任意未分配订单之间的订单相似度大于预设的第二相似度阈值。
  7. 根据权利要求6所述的方法,其中,所述为所述至少一个未分配订单组分配对应的配送客户端,包括:
    对于每个未分配订单组,基于该未分配订单组中未分配订单的属性信息和各个配送客户端的信息,生成针对该未分配订单组的各个配送客户端的分数;基于最大权匹配算法,为该未分配订单组分配分数大于或等于预设的分数阈值的配送客户端。
  8. 一种信息推送装置,其中,所述装置包括:
    获取单元,配置用于获取目标区域内多个未分配订单的属性信息;
    聚类单元,配置用于基于所述属性信息,对所述未分配订单进行聚类,生成至少一个簇;
    分组单元,配置用于针对每个簇,对该簇内的未分配订单进行分组,生成至少一个未分配订单组;
    推送单元,配置用于为所述至少一个未分配订单组分配对应的配送客户端,并向所述对应的配送客户端推送分配到的未分配订单组中未分配订单的属性信息。
  9. 根据权利要求8所述的装置,其中,所述装置还包括:
    确定单元,配置用于确定未分配订单分别与至少一个配送客户端之间的匹配度;
    分配单元,配置用于基于所述未分配订单分别与至少一个配送客户端之间的匹配度,将未分配订单分配给所匹配的目标配送客户端;
    更新单元,配置用于从所述未分配订单中筛选出没有匹配上目标配送客户端的未分配订单作为新的未分配订单,以更新未分配订单。
  10. 根据权利要求9所述的装置,其中,所述确定单元,包括:
    第一获取模块,配置用于获取未分配订单的属性信息以及分配给所述至少一个配送客户端的订单的订单信息,其中,所述属性信息以及所述订单信息均包括取货地址信息、送货地址信息和期望送达时间;
    第一确定模块,配置用于基于所述未分配订单的属性信息以及分配给所述配送客户端的订单的订单信息,确定所述未分配订单的取货地址与分配给所述配送客户端的订单的取货地址之间的取货地址距离、所述未分配订单的送货地址与分配给所述配送客户端的订单的送货地址之间的送货地址距离和所述未分配订单的期望送达时间与分配给所述配送客户端的订单的期望送达时间之间的时间间隔;
    第二确定模块,配置用于基于所述取货地址距离、所述送货地址距离和所述时间间隔,确定所述未分配订单分别与至少一个配送客户端之间的匹配度。
  11. 根据权利要求9所述的装置,其中,所述确定单元,包括:
    第二获取模块,配置用于获取所述至少一个配送客户端的订单组;
    统计模块,配置用于统计所述订单组中与所述未分配订单的相似度大于或等于预设的第一相似度阈值的订单的数量;
    计算模块,配置用于计算统计的数量与所述订单组的订单总数量的比值;
    第三确定模块,配置用于如果所述比值大于或等于预设的比值阈值,则将所述未分配订单与所述订单组中的订单的最高相似度确定为所述未分配订单与所述配送客户端的匹配度。
  12. 根据权利要求8-11之一所述的装置,其中,属性信息包括取货地址信息和送货地址信息;以及
    所述聚类单元,包括:
    处理模块,配置用于以任一未分配订单对应的取货地址为初始的当前取货地址、对应的送货地址为初始的当前送货地址,执行聚类步骤,所述聚类步骤包括:以当前取货地址为中心、以预设的第一距离阈值为半径,确定第一区域;以当前送货地址为中心、以预设的第二距离阈值为半径,确定第二区域;确定是否存在对应的取货地址在所述第一区域内、且对应的送货地址在所述第二区域内的未分配订单;
    反馈模块,配置用于如果存在对应的取货地址在所述第一区域内、且对应的送货地址在所述第二区域内的未分配订单,则将确定出的未分配订单划分到同一未分配订单子集合中,将未分配订单子集合中任一未分配订单对应的取货地址作为当前取货地址、对应的送货地址作为当前送货地址继续执行所述聚类步骤;
    聚类模块,配置用于将各个未分配订单子集合中的未分配订单聚为一类。
  13. 根据权利要求8所述的装置,其中,属性信息包括取货地址信息、送货地址信息和期望送达时间;以及
    所述分组单元,包括:
    确定模块,配置用于基于该簇内的各个未分配订单的取货地址信息、送货地址信息和期望送达时间,确定各个未分配订单之间的订单相似度;
    生成模块,配置用于生成至少一个未分配订单组,其中,每个未分配订单组中的任意未分配订单之间的订单相似度大于预设的第二相似度阈值。
  14. 根据权利要求13所述的装置,其中,所述推送单元进一步配置用于:
    对于每个未分配订单组,基于该未分配订单组中未分配订单的属性信息和各个配送客户端的信息,生成针对该未分配订单组的各个配送客户端的分数;基于最大权匹配算法,为该未分配订单组分配分数大于或等于预设的分数阈值的配送客户端。
  15. 一种电子设备,包括:
    一个或多个处理器;
    存储装置,用于存储一个或多个程序,
    当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
  16. 一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
PCT/CN2017/118688 2017-09-05 2017-12-26 信息推送方法和装置 WO2019047431A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710791184.1 2017-09-05
CN201710791184.1A CN107844885A (zh) 2017-09-05 2017-09-05 信息推送方法和装置

Publications (1)

Publication Number Publication Date
WO2019047431A1 true WO2019047431A1 (zh) 2019-03-14

Family

ID=61682851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118688 WO2019047431A1 (zh) 2017-09-05 2017-12-26 信息推送方法和装置

Country Status (2)

Country Link
CN (1) CN107844885A (zh)
WO (1) WO2019047431A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414613A (zh) * 2019-07-31 2019-11-05 京东城市(北京)数字科技有限公司 区域聚类的方法、装置、设备和计算机可读存储介质

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503353B (zh) * 2018-05-16 2022-04-01 北京三快在线科技有限公司 一种配送区域表达方法及装置
CN108647927B (zh) * 2018-05-17 2020-01-24 北京顺丰同城科技有限公司 一种订单分配方法以及装置
CN110555448B (zh) * 2018-05-30 2022-03-29 顺丰科技有限公司 一种细分派件区域的方法和系统
CN111291772B (zh) * 2018-12-06 2024-04-16 北京嘀嘀无限科技发展有限公司 信息的推送方法、装置、电子设备和计算机可读存储介质
CN109711773B (zh) * 2018-12-11 2022-08-26 武汉理工大学 一种基于聚类算法的集装箱货物流向流量统计方法
CN109657027B (zh) * 2018-12-19 2020-11-03 金瓜子科技发展(北京)有限公司 一种聚类选址的方法、装置、存储介质及电子设备
CN111353840B (zh) * 2018-12-21 2023-07-21 盒马(中国)有限公司 订单信息处理方法、装置及电子设备
CN109697637B (zh) * 2018-12-27 2022-08-26 拉扎斯网络科技(上海)有限公司 对象类别确定方法、装置、电子设备及计算机存储介质
CN109741142A (zh) * 2019-01-03 2019-05-10 上海拉扎斯信息科技有限公司 订单分配方法、订单分配装置、可读存储介质和电子设备
CN109934537A (zh) * 2019-03-12 2019-06-25 北京同城必应科技有限公司 订单分配方法、装置、服务器和存储介质
CN110322106B (zh) * 2019-04-12 2023-08-01 赵志为 一种多目的地、多个运输工具的行李取送调度方法
CN110210731A (zh) * 2019-05-20 2019-09-06 深圳壹账通智能科技有限公司 提醒任务分配方法、装置、计算机设备和存储介质
CN110400012A (zh) * 2019-07-17 2019-11-01 北京三快在线科技有限公司 一种确定配送路径的方法及装置
CN112862228A (zh) * 2019-11-28 2021-05-28 北京三快在线科技有限公司 订单分配方法、装置、计算机可读存储介质及电子设备
CN111027907A (zh) * 2019-12-05 2020-04-17 杭州火小二科技有限公司 对象的配送方法、装置、存储介质和处理器
CN111178752A (zh) * 2019-12-27 2020-05-19 北京顺达同行科技有限公司 订单派单方法、装置、计算机设备和存储介质
CN111445124B (zh) * 2020-03-25 2022-08-30 拉扎斯网络科技(上海)有限公司 订单调度方法、装置及系统
CN111815229B (zh) * 2020-06-12 2024-01-23 北京顺达同行科技有限公司 订单信息的处理方法、装置、电子设备及存储介质
CN112734280B (zh) * 2021-01-20 2024-02-02 树根互联股份有限公司 生产订单配送方法、装置及电子设备
CN114418510A (zh) * 2022-03-29 2022-04-29 小柿子(北京)汽车供应链管理有限公司 货物运输管理方法、系统、平台和存储介质
CN116362844B (zh) * 2023-04-03 2023-11-03 大连理工大学 一种“先并单-再派单”的外卖订单配送方案生成方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761639A (zh) * 2014-02-17 2014-04-30 江苏亲民网络股份有限公司 互联网电子商务物流管理系统中订单分配的处理方法
CN103927643A (zh) * 2014-04-30 2014-07-16 洪剑 一种大规模订单处理与配送路径优化的方法
CN105719221A (zh) * 2015-06-30 2016-06-29 北京小度信息科技有限公司 针对多任务的路径协同规划方法和装置
CN105719009A (zh) * 2015-07-24 2016-06-29 北京小度信息科技有限公司 配送任务的处理方法及装置
CN106327085A (zh) * 2016-08-26 2017-01-11 多点生活(中国)网络科技有限公司 一种订单智能调度方法
CN107016599A (zh) * 2017-04-06 2017-08-04 四川创物科技有限公司 一种订单集合分组方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761639A (zh) * 2014-02-17 2014-04-30 江苏亲民网络股份有限公司 互联网电子商务物流管理系统中订单分配的处理方法
CN103927643A (zh) * 2014-04-30 2014-07-16 洪剑 一种大规模订单处理与配送路径优化的方法
CN105719221A (zh) * 2015-06-30 2016-06-29 北京小度信息科技有限公司 针对多任务的路径协同规划方法和装置
CN105719009A (zh) * 2015-07-24 2016-06-29 北京小度信息科技有限公司 配送任务的处理方法及装置
CN106327085A (zh) * 2016-08-26 2017-01-11 多点生活(中国)网络科技有限公司 一种订单智能调度方法
CN107016599A (zh) * 2017-04-06 2017-08-04 四川创物科技有限公司 一种订单集合分组方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414613A (zh) * 2019-07-31 2019-11-05 京东城市(北京)数字科技有限公司 区域聚类的方法、装置、设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN107844885A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
WO2019047431A1 (zh) 信息推送方法和装置
CN107845012B (zh) 订单处理方法和装置
WO2019056640A1 (zh) 订单处理方法及装置
TW202016815A (zh) 一種並行化執行區塊鏈交易的方法、裝置及系統
WO2022237667A1 (zh) 确定订单履约仓库的方法和装置
WO2019071930A1 (zh) 用于分拣货物的方法和装置
CN113762858B (zh) 一种库存管理方法和装置
CN109961306B (zh) 一种物品的库存分配方法和装置
CN111427971B (zh) 用于计算机系统的业务建模方法、装置、系统和介质
CN107451785B (zh) 用于输出信息的方法和装置
CN110738436B (zh) 一种确定可用库存的方法和装置
CN111277625A (zh) 电商平台订单推送方法、系统
WO2021143510A1 (zh) 确定任务的方法和装置
CN111461776A (zh) 资源发放的方法、装置、设备及存储介质
CN112884405A (zh) 一种询价系统及其调度方法
CN113537861A (zh) 补货方法和补货装置
CN111950830B (zh) 一种任务分配方法和装置
CN111612385B (zh) 一种对待配送物品进行聚类的方法和装置
CN107844932B (zh) 订单处理方法和装置
WO2019015254A1 (zh) 信息处理方法和装置
US11693711B2 (en) System, method, and computer program product for processing large data sets by balancing entropy between distributed data segments
CN112547569B (zh) 物品分拣设备控制方法、装置、设备和计算机可读介质
CN111078636A (zh) 营销数据处理方法、系统及相关设备
CN107609852B (zh) 用于处理支付请求的方法和装置
CN110956478A (zh) 确定物品进货量的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17924748

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/09/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17924748

Country of ref document: EP

Kind code of ref document: A1