一种订单推送方法、装置、服务器和计算机可读存储介质与流程

文档序号:13877880阅读:159来源:国知局
一种订单推送方法、装置、服务器和计算机可读存储介质与流程

本发明涉及计算机技术领域,具体涉及计算机物流控制技术领域,更具体地,涉及一种订单推送方法、装置、服务器和计算机可读存储介质。



背景技术:

随着网络信息的发展,网上购物模式也越来越多种多样。为了使得商户能够准确实时的接收订单,订单推送的模式起到至关重要的作用。

传统的拉取式订单推送方法,商户端系统需要定时向服务器发送请求,查询是否有新订单产生。商户端系统不能及时感知新订单,时效性较差。



技术实现要素:

有鉴于此本申请提供一种订单推送方法、装置、服务器和计算机可读存储介质,以实时、准确、高效地向商户端推送订单。

根据本申请第一方面,提供一种订单推送方法,包括:

接收用户订单,生成待推送订单;

在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,等待至之后的单位时间再推送待推送订单;

其中,所述订单阈值为所述商户端系统在单位时间内能够承担的订单推送的访问量。

根据本申请第二方面,提供一种订单推送装置,包括:

订单接收模块,被配置为接收用户订单,并生成待推送订单;

订单推送模块,被配置为在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,等待至之后的单位时间再推送待推送订单;

其中,所述订单阈值为所述商户端系统在单位时间内能够承担的订单推送的访问量。

根据本申请第三方面,提供一种服务器,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的方法。

根据本申请第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行以实现上述的方法。

在本申请中,所述方法通过历史数据评估商户端系统处理订单的能力,计算单位时间内处理的订单阈值。在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,等待至之后的单位时间再推送新生成的待推送订单,以维护商户端系统的性能和安全,提高接单的准确率。

附图说明

通过以下参照附图对本申请实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本申请实施例的示例性系统架构图;

图2是本申请实施例的订单推送方法的流程图;

图3是本申请实施例的第一种待推送订单队列管理示意图;

图4是本申请实施例的第二种待推送订单队列管理示意图

图5是本申请实施例的订单重送方法的流程图;

图6是本申请实施例的订单推送装置的结构示意图;

图7是本申请实施例的服务器的结构示意图。

具体实施方式

以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

图1是本申请实施例的示例性系统架构图。如图1所示,系统架构1包括购物平台11、服务器12、商户端系统13和终端设备1n(n为大于等于4的整数)。

购物平台11用给用户呈现各个商户的产品,也即用户可以在购物平台浏览选购商品。当用户在购物平台11下单时,购物平台11将订单发送给服务器12,并接收服务器12反馈的订单状态信息。

服务器12用于接收存储并处理数据。具体地,服务器12可以存储商户端系统13的相关数据,例如商户端系统13的账户信息、历史订单信息等。服务器12可以用于接收并分析订单,然后将生成的待推送订单推送给商户端系统13。服务器12还可用于处理商户端系统13的反馈消息,例如,商户端系统13处理订单商品的状态信息等。

商户端系统13用于接收由服务器12推送的订单,并根据订单的配送地址和分店终端设备14-1n对应分店的订单处理速度等信息选择最优的分店,将该订单信息发送给所选择的分店对应的分店终端设备1n。

由于商户的规模和需求的不同,所应用的系统性能也可能不同。规模大的商户应用的商户端系统13性能一般较好,在单位时间内能有效处理较多的从服务器12推送来的订单。规模小一些的商户根据自身需求和性价比,所开发的商户端系统13的性能一般。因此,在某一时间段如果爆发大量订单(例如外卖行业在中午11点到12点时),商户端系统13不能承担这么高的推送频率,也不能及时分析订单信息将其发送至分店的终端设备,进而商户端系统13可能被大量数据信息拖垮,导致商户端系统崩溃。所以本申请的服务器12根据商户端系统13的历史订单数据评估商户端系统13的系统性能,合理地设置订单阈值,以使得在订单高发阶段由服务器12控制单位时间内推送的频率,在保证商户端系统接收和分析订单效率的前提下,保护商户端系统13的稳定性。

终端设备1n是商户各分店接收订单的终端设备,其接收由商户端系统13分配而来的订单,并将订单完成的状态信息反馈给商户端系统13。终端设备1n可以是各种电子设备,包括但不限于智能手机、平板电脑、台式电脑等。

购物平台11、服务器12、商户端系统13和终端设备1n之间通过网络连接。可以使用各种网络连接类型,例如有线、无线、无线通信链路或者光纤电缆等。

应理解,图1中的购物平台、服务器、商户端系统和终端设备的数目仅仅是示意性的。根据实现需求,可以设置任意数目的服务器、网络和终端设备。

图2是本申请实施例的订单推送方法的流程图。如图2所示,在步骤s100,接收用户订单,生成待推送订单。

具体地,服务器接收并分析用户订单,当该用户订单对应的商户端系统开启订单推送时,由该用户订单信息及所述商户端系统对应的订单格式生成待推送订单。商户端系统可自主选择是否开启订单推送服务,若选择不开启订单推送服务,则通过其他方式(例如传统的拉取方式等)从服务器获得订单信息。

用户订单信息包括订单号、用户姓名地址、购买商品和备注等信息。

商户端系统可根据自身需求选择订单格式,例如商户端系统可选择显示订单号和商品或显示订单号、商品和客户信息等订单格式。根据商户需求的不同可分为第一类商户和第二类商户。第一类商户可以在订单推送装置所设置的多种订单格式中选择。第二类商户除了可以在订单推送装置所设置的多种订单格式中选择之外,还拥有设置自定义订单格式的权限。

例如,假设用户a在b外卖平台上订购了一个外卖,b外卖平台将该外卖订单信息发送给服务器。服务器接收该外卖订单,并分析得该外卖订单的订单号为1541871,所订购的是商户x的商品xg,用户名a,用户地址bj小区等。然后服务器判断商户x对应的商户端系统是否开启了订单推送服务,若开启,将该订单以商户端系统x选择的订单格式进行推送。如只推送订单号1541871和商品xg,或者推送订单号1541871、商品xg和用户地址bj小区等。

应理解,商户端系统和其对应的分店终端设备均可通过订单号获取订单的具体信息。

在步骤s200,判断当前单位时间内向商户端系统已推送的订单数量是否达到订单阈值。若已推送订单数量达到订单阈值,执行步骤s300。若已推送订单数量未达到订单阈值,执行步骤s400

单位时间的单位可根据实际需求设置为秒、分等。

订单阈值是商户端系统在单位时间内能够承担的订单推送的访问量。不同的商户端系统可承担的访问量不同,为了避免在高峰时期订单推送频率过高而导致商户端系统崩溃进而影响商户的利益,所以设置订单阈值实现错峰推送订单。

订单阈值可通过商户端系统历史单位时间内处理订单的数据计算或通过商户端系统设置。订单阈值可以对历史单位时间内商户端系统处理订单推送的数据进行采样进而计算订单阈值,例如对不同时段的历史数据进行采样,并通过设置不同时间段的数据对结果影响的权重,计算其加权平均和获得该商户端系统的订单阈值。商户端系统的订单阈值也可以由商户端系统自定义。

应理解,关于根据历史数据计算订单阈值不仅仅局限于上述举例的方法,采用其他统计学方法计算订单阈值的应都在本申请所保护的范围之内。在步骤s300,新生成的待推送订单在之后的单位时间推送。

也就是说,当单位时间内推送订单的数量达到预设的阈值时,在当前单位时间内不再推送订单,待推送订单在队列中等待。在下一单位时间开始时刻,继续推送待推送订单。

在步骤s400,将所述新生成的待推送订单推送给对应的商户端系统。

在本申请中,为了便于待推送订单的管理,提高订单推送的效率,通过队列来管理所有待推送订单。具体地,将所有新生成的待推送订单按照时间顺序加入第一队列中等候推送,每推送一个订单,计数器的数值增加1。在当前单位时间内,计数器的值达到订单阈值时,当前单位时间停止订单推送,在下一单位时间,重新开始推送第一队列中的订单。或者,在当前单位时间内,计数器的值达到订单阈值时,当前单位时间停止订单推送,并将当前单位时间新生成的待推送订单加入第二队列中等待。在下一单位时间开始时,优先推送第二队列中的待推送订单,之后在推送第一队列中的待推送订单。

图3所示为第一种待推送订单队列管理的方法。当推送订单a之后,当前单位时间(单位时间为分,示例中为10:00-10:01)的已推送订单达到订单阈值。在订单a之后的待推送订单无论是当前单位时间内生成的待推送订单b、c、d,还是下一单位时间(示例中为10:01-10:02)生成的待推送订单e、f、g等均在同一个队列中排队等候,到10:01开始时刻推送待推送订单b。

图4所示为第二种待推送订单队列管理的方法。当推送订单a之后,当前单位时间(单位时间为分,示例中为10:00-10:01)的已推送订单达到订单阈值。在订单a之后的待推送订单,在时刻10:00-10:01之间生成的订单b、c、d加入第二队列进行排队等待,在时刻10:01之后生成的待推送订单e、f、g等在第一队列中排队等待。同时在时刻10:01开始时,优先推送第二队列中的待推送订单b、c、d,再推送第一队列中的待推送订单e、f、g等。

应理解,图3和图4中的待推送订单管理队列方法仅仅是示例性的。根据实现需求,任何以队列形式管理待推送订单的方法均在本申请保护范围之内。

本领域技术人员应了解,计数器的统计方法包括但不限于在一个单位时间开始时刻计数器清零(也即重新计数)或者统计从一个单位时间开始时累计增加的数量。

在本申请中,所述方法通过历史数据评估商户端系统处理订单的能力,计算单位时间内处理的订单阈值。在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,等待至之后的单位时间再推送新生成的待推送订单,以维护商户端系统的性能和安全,确保商户能够及时、高效地接收订单。

优选地,在本申请实施例的又一种实施方式中,通过设置订单重推来确保商户能够及时接收并处理订单,进而保障商户的利益。具体如图5所示的订单重推方法的流程图。

在步骤s500,在预设时间内未接收到商户端系统对已推送订单的响应,将所述已推送订单加入队列中等待。

商户端系统未对订单响应的情况包括接收到推送消息超时未接单或因系统问题未接收到所推送订单等。

在步骤s600,在订单重推队列中的已推送订单到达等待时间后,根据其重推次数选择推送方式重新推送该已推送订单。

已推送订单根据订单重推次数也可以设置其等待时间,例如第一次推送未得到商户端系统的响应,该已推送订单等待2分钟之后重新推送,若第二次推送还未收到商户端系统对该已推送订单的响应,则该已推送订单等待3分钟之后重新推送。应理解,在订单有效时间内,订单重推次数及每次推送的相隔时间可以根据实际需求进行设置。在订单超过其有效时间,对应的商户端系统仍旧没有对此订单做出响应,则不再推送此订单,也即自动取消订单,将取消订单的消息反馈给客户。

重新推送订单的推送方式还包括在重推过程中设置ivr(interactivevoiceresponse互动式语音应答)电话提醒,或通过商户端系统安装的其他app进行提醒接单等。

本申请设置订单重推,以多种方式多次推送订单,确保订单推送的成功率以及商户接单的成功率。

图6是本申请实施例的订单推送装置的结构示意图。如图6所示,订单推送装置6包括订单接收模块61、待推送订单管理模块62、订单推送模块63和订单重推模块64。

订单接收模块61被配置为接收用户订单,生成待推送订单。

具体地,服务器接收并分析用户订单,当该用户订单对应的商户端系统开启订单推送时,由该用户订单信息及所述商户端系统对应的订单格式生成待推送订单。商户端系统可自主选择是否开启订单推送服务,若选择不开启订单推送服务,则通过其他方式(例如传统的拉取方式等)从服务器获得订单信息。

待推送订单管理模块62被配置为通过队列管理待推送订单。具体地,将所有新生成的待推送订单按照时间顺序加入第一队列中等候推送,每推送一个订单,计数器的数值增加1。在当前单位时间内,计数器的值达到订单阈值时,当前单位时间停止订单推送,在下一单位时间,重新开始推送第一队列中的订单。或者,在当前单位时间内,计数器的值达到订单阈值时,当前单位时间停止订单推送,并将当前单位时间新生成的待推送订单加入第二队列中等待。在下一单位时间开始时,优先推送第二队列中的待推送订单,之后在推送第一队列中的待推送订单。

订单推送模块63被配置为将待推送订单推送给对应的商户端系统。

具体地,判断当前单位时间内向商户端系统已推送的订单数量是否达到订单阈值。若已推送订单数量达到订单阈值,新生成的待推送订单在之后的单位时间推送。若已推送订单数量未达到订单阈值,将所述新生成的待推送订单推送给对应的商户端系统。

订单阈值是商户端系统在单位时间内能够承担的订单推送的访问量。不同的商户端系统可承担的访问量不同,为了避免在高峰时期订单推送频率过高而导致商户端系统崩溃进而影响商户的利益,所以设置订单阈值实现错峰推送订单。

订单阈值可通过商户端系统历史单位时间内处理订单的数据计算或通过商户端系统设置。订单阈值可以对历史单位时间内商户端系统处理订单推送的数据进行采样进而计算订单阈值,例如对不同时段的历史数据进行采样,并通过设置不同时间段的数据对结果影响的权重,计算其加权平均和获得该商户端系统的订单阈值。商户端系统的订单阈值也可以由商户端系统自定义。

订单重推模块64被配置为在预设时间内未接收到所述商户端系统对已推送订单的响应时,重新推送所述已推送订单。

具体地,预设时间内未接收到商户端系统对已推送订单的响应,将所述已推送订单加入队列中等待。商户端系统未对订单响应的情况包括接收到推送消息超时未接单或因系统问题未接收到所推送订单等。

在订单重推队列中的已推送订单到达等待时间后,根据其重推次数选择推送方式重新推送该已推送订单。

已推送订单根据订单重推次数也可以设置其等待时间,例如第一次推送未得到商户端系统的相应,该已推送订单等待2分钟之后重新推送,若第二次推送还未收到商户端系统对该已推送订单的响应,则该已推送订单等待3分钟之后重新推送。应理解,在订单有效时间内,订单重推次数及每次推送的相隔时间可以根据实际需求进行设置。在订单超过其有效时间,对应的商户端系统仍旧没有对此订单做出响应,则不再推送此订单,也即自动取消订单,将取消订单的消息反馈给客户。

重新订单的推送方式还包括在重推过程中设置ivr电话提醒,或通过商户端系统安装的其他app进行提醒接单等。

本申请的上述订单推送装置通过设置订单接收模块接收订单并生成待推送订单。设置订单推送装置实现订单的错峰推送以维护商户端系统的性能和安全。设置计数器模块统计单位时间内推送订单的数量。设置订单重推模块将订单以多种推送方式进行多次推送来确保商户能够及时、高效、准确地接收订单,从而保障商户的利益。

图7是本申请实施例的服务器的结构示意图。图7所示的服务器为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器71和存储器72。处理器71和存储器72通过总线73连接。存储器72适于存储处理器71可执行的指令或程序。处理器71可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器71通过执行存储器72所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线73将上述多个组件连接在一起,同时将上述组件连接到显示控制器74和显示装置以及输入/输出(i/o)装置75。输入/输出(i/o)装置75可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置75通过输入/输出(i/o)控制器76与系统相连。

本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品。

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本申请实施例公开了a1、一种订单推送方法,其中,所述方法包括:

接收用户订单,生成待推送订单;

在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,等待至之后的单位时间再推送待推送订单;

其中,所述订单阈值为所述商户端系统在单位时间内能够承担的订单推送的访问量。

a2、根据a1所述的订单推送方法,其中,所述生成待推送订单包括:

根据所述用户订单信息和所述商户端系统对应的订单格式生成所述待推送订单。

a3、根据a1所述的订单推送方法,其中,所述方法还包括:

在预设时间内未接收到所述商户端系统对已推送订单的响应时,重新推送所述已推送订单。

a4、根据a1所述的订单推送方法,其中,所述方法还包括:

通过队列管理所述待推送订单。

a5、根据a4所述的订单推送方法,其中,通过队列管理所述待推送订单包括:

所有新生成的待推送订单加入第一队列中等待推送,在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,在之后的单位时间推送第一队列中待推送订单;或者

所有新生成的待推送订单加入第一队列中等待推送,在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,在当前单位时间再新生成的待推送订单加入第二队列中等待,在下一个单位时间优先推送第二队列中的订单。

a6、根据a1所述的订单推送方法,其中,所述订单阈值通过所述商户端系统历史单位时间内处理订单的数据计算或通过商户端系统自定义。

a7、根据a2所述的订单推送方法,其中,所述订单格式由所述商户端系统自定义。

a8、根据a1所述的订单推送方法,其中,所述方法还包括:

在当前单位时间内向所述商户端系统已推送的订单数量小于所述订单阈值时,将待推送订单推送给所述商户端系统。

a9、根据a3所述的订单推送方法,其中,重新推送所述已推送订单包括:

根据重推送次数选择不同的方式重新推送所述已推送订单。

本发明实施例还公开了b1、一种订单推送装置,其中,所述装置包括:

订单接收模块,被配置为接收用户订单,并生成待推送订单;

订单推送模块,被配置为在当前单位时间内向商户端系统已推送的订单数量达到订单阈值时,等待至之后的单位时间再推送待推送订单;

其中,所述订单阈值为所述商户端系统在单位时间内能够承担的订单推送的访问量。

b2、根据b1所述的订单推送装置,其中,所述待推送订单由所述用户订单信息和所述商户端系统对应的订单格式生成。

b3、根据b1所述的订单推送装置,其中,所述装置还包括:

订单重推模块,被配置为在预设时间内未接收到所述商户端系统对已推送订单的响应时,重新推送所述已推送订单。

b4、根据b1所述的订单推送装置,其中,所述装置还包括:

待推送订单管理模块,被配置为通过队列管理所述待推送订单。

b5、根据b1所述的订单推送装置,其中,所述订单阈值通过商户端系统历史单位时间内处理订单的数据计算或通过商户端系统自定义。

b6、根据b2所述的订单推送装置,其中,所述订单格式由所述商户端系统自定义。

b7、根据b1所述的订单推送装置,其中,所述订单推送模块还被配置为在当前单位时间内向所述商户端系统已推送的订单数量小于所述订单阈值时,将待推送订单推送给所述商户端系统。

b8、根据b3所述的订单推送装置,其中,所述订单重推模块还被配置为根据重推送次数选择不同的方式重新推送所述已推送订单。

本发明实施例还公开了c1、一种服务器,其中,所述服务器包括存储器和处理器,其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现a1-a9中任一项所述的方法。

本发明实施例还公开了d1、一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行以实现a1-a9中任一项所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1