CN110838205B - 自动售货方法、自动售货机及服务器 - Google Patents

自动售货方法、自动售货机及服务器 Download PDF

Info

Publication number
CN110838205B
CN110838205B CN201911149194.0A CN201911149194A CN110838205B CN 110838205 B CN110838205 B CN 110838205B CN 201911149194 A CN201911149194 A CN 201911149194A CN 110838205 B CN110838205 B CN 110838205B
Authority
CN
China
Prior art keywords
shipment
result
instruction
time
vending machine
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201911149194.0A
Other languages
English (en)
Other versions
CN110838205A (zh
Inventor
吴亚鑫
张世龙
叶康
赵雪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian Kai'erwen Technology Co ltd
Original Assignee
Dalian Kai'erwen Technology Co ltd
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 Dalian Kai'erwen Technology Co ltd filed Critical Dalian Kai'erwen Technology Co ltd
Priority to CN201911149194.0A priority Critical patent/CN110838205B/zh
Publication of CN110838205A publication Critical patent/CN110838205A/zh
Application granted granted Critical
Publication of CN110838205B publication Critical patent/CN110838205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F9/00Details other than those peculiar to special kinds or types of apparatus
    • G07F9/02Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus
    • G07F9/026Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus for alarm, monitoring and auditing in vending machines or means for indication, e.g. when empty
    • 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/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)

Abstract

本发明提供自动售货方法、自动售货机及服务器,以减少货损。自动售货机执行的自动售货方法包括:接收出货指令;出货指令包括发送时间和出货指示;计算出货指令的接收时间与发送时间的时间差;在时间差大于时间差阈值时,返回包含出货状态为失败的出货结果;在时间差不大于时间差阈值时,根据出货指示进行出货操作,并返回出货状态为成功的出货结果。可见,在本发明实施例中,自动售货机在出货指令的接收时间与发送时间的时间差不大于阈值时才出货,而若大于则不进行出货。这样可避免在超过时间差阈值后,购买者已发起退款或离开自动售货机,但自动售货机依然出货的情况,从而减少货损的发生。

Description

自动售货方法、自动售货机及服务器
技术领域
本发明涉及计算机领域,特别涉及自动售货方法、自动售货机及服务器。
背景技术
由于移动支付的快速普及,几乎所有类型的自动售货机均需要通过网络与服务器端交互来完成支付、出货等一系列交易动作。
然而,当前的无线通讯受点位环境影响较大,网络不稳定。而现有自动售货机系统在设计时,基本假设网络环境是良好的,对弱网络环境的处理并不理想。在弱网络环境下,容易发生货损现象,例如,服务器发送的出货指令经较长时间到达自动售货机时,购买者已因不愿等待而请求退款或离开自动售货机,但自动售货机依然依据出货指令对商品进行了出货操作。
发明内容
有鉴于此,本发明提供自动售货方法、自动售货机及服务器,以减少货损。
为了实现上述发明目的,本发明提供以下技术方案:
一种自动售货方法,应用于自动售货机;所述方法包括:
接收出货指令;所述出货指令由服务器端发送,所述出货指令包括发送时间和出货指示;
计算所述出货指令的接收时间与所述发送时间的时间差;
在所述时间差大于预设的时间差阈值时,返回包含出货状态为失败的出货结果;当所述出货状态为失败时,所述出货结果还包括失败原因;当所述时间差大于预设的时间差阈值时,所述失败原因为超时;
在所述时间差不大于所述时间差阈值时,根据所述出货指示进行出货操作,并返回出货状态为成功的出货结果。
可选的,还包括:若接收到多个相同的出货指令,进行幂等处理;其中,多个相同的出货指令是所述服务器端在首次发送出货指令但超过第一时间间隔未接收到出货结果后,每隔所述第一时间间隔重发一次所述出货指令,直至接收到出货结果或者重发次数达到重发最大数N造成的;所述N为不小于1的自然数;所述时间差阈值不小于所述第一时间间隔的N+1倍。
可选的,还包括:接收出货结果请求;返回出货结果;其中,所述出货结果请求是所述服务器端等待超过第三时间间隔后发送的;在等待所述第三时间间隔之前,所述服务器端在超过第二时间间隔仍未接收到出货结果后,将本地出货状态暂时标记为成功。
可选的,在接收所述出货指令前,还包括:接收所述服务器端发送的预下单消息;返回预下单响应;所述出货指示是所述服务器端在接收到所述预下单响应后发出的。
可选的,还包括:以固定周期发送心跳请求;所述心跳请求用于所述服务器端判断所述自动售货机是否在线,若判定离线,将所述自动售货机对应的店铺设置为非营业状态。
一种自动售货方法,应用于服务器;所述方法包括:
在货品支付成功后,向自动售货机发送出货指令;所述出货指令包括发送时间和出货指示;
在接收到出货结果后,若所述出货结果中的出货状态为成功,将本地出货状态标记为成功;若所述出货结果中的出货状态为失败,将本地出货状态标记为失败,发起退款操作;
其中,当所述出货状态为失败时,所述出货结果还包括失败原因;若所述失败原因为超时,表征所述出货指令的接收时间与所述发送时间的时间差大于预设的时间差阈值。
可选的,在货品支付成功后,向自动售货机发送出货指令包括:在货品支付成功后,首次向所述自动售货机发送出货指令;若超过第一时间间隔仍未接收到出货结果,每隔所述第一时间间隔重发一次所述出货指令,直至接收到出货结果或者重发次数达到重发最大数N;其中,所述N为不小于1的自然数;所述时间差阈值不小于所述第一时间间隔的N+1倍。
可选的,若超过第二时间间隔仍未接收到出货结果,将本地出货状态暂时标记为成功;继续等待,直至接收到出货结果或超过第三时间间隔;若超过所述第三时间间隔,向所述自动售货机发送出货结果请求;在接收到出货结果后,根据出货结果中的出货状态更新本地出货状态。
可选的,在发送所述出货指示之前,还包括:向所述自动售货机发送预下单消息;若接收到预下单响应,判定所述自动售货机在线;所述出货指示是在判定所述自动售货机在线后发送的;否则判定所述自动售货机离线。
一种自动售货机,包括:
通信单元,用于接收出货指令;所述出货指令由服务器端发送,所述出货指令包括发送时间和出货指示;
处理单元,用于:
计算所述出货指令的接收时间与所述发送时间的时间差;
在所述时间差大于预设的时间差阈值时,返回包含出货状态为失败的出货结果;当所述出货状态为失败时,所述出货结果还包括失败原因;当所述时间差大于预设的时间差阈值时,所述失败原因为超时;
在所述时间差不大于所述时间差阈值时,根据所述出货指示进行出货操作,并返回出货状态为成功的出货结果。
一种服务器,包括:
通信模块,用于:在货品支付成功后,向自动售货机发送出货指令;所述出货指令包括发送时间和出货指示;
处理模块,用于:
在接收到出货结果后,若所述出货结果中的出货状态为成功,将本地出货状态标记为成功;若所述出货结果中的出货状态为失败,将本地出货状态标记为失败,发起退款操作;
其中,当所述出货状态为失败时,所述出货结果还包括失败原因;若所述失败原因为超时,表征所述出货指令的接收时间与所述发送时间的时间差大于预设的时间差阈值。
可见,在本发明实施例中,自动售货机在接收到出货指令后,会计算出货指令的接收时间与其发送时间的时间差,在该时间差不大于预设的时间差阈值时,才进行出货操作。而若上述时间差大于预设的时间差阈值,则不进行出货,返回出货状态为失败的出货结果。这样可避免在超过时间差阈值后,购买者已发起退款或离开自动售货机,但自动售货机依然出货的情况,从而减少货损的发生。
附图说明
图1为本发明实施例提供的应用场景示意图;
图2为本发明实施例提供的自动售货方法的示例性交互流程;
图3为本发明实施例提供的服务器与自动售货机之间相应的示例性交互流程;
图4为本发明实施例提供的服务器重发出货指令的示意图;
图5为本发明实施例提供的预下单的示例性交互流程;
图6为本发明实施例提供的自动售货方法的另一示例性交互流程;
图7为本发明实施例提供的基于心跳请求判断自动售货机是否在线的示例性流程;
图8为本发明实施例提供的自动售货机的一种示例性结构;
图9为本发明实施例提供的服务器的一种示例性结构。
具体实施方式
在弱网环境下,经常出现信号弱、数据丢包、网络延迟等不稳定的网络情况,这给自动售货机带来极大挑战。本发明实施例公开了自动售货方法、自动售货机及服务器,以减少货损。
自动售货机及服务器的一种示例性的应用场景可参见图1所示:
消费者使用移动终端(例如手机)扫描自动售货机屏幕上的二维码,访问服务器所提供的前端页面,完成支付。一般可使用第三方支付平台(例如支付宝、微信等)进行支付。当消费者支付成功后,第三方支付平台会回调服务器接口,通知支付结果。服务器在根据支付结果确认支付成功后,会向自动售货机发送出货指令,以指示自动售货机对商品进行出货。
为减少货损,请参见图2,服务器与自动售货机之间示例性地可进行如下交互:
S21:在货品支付成功后,服务器向自动售货机发送出货指令。
上述出货指令可包括发送时间和出货指示;
S22:自动售货机接收出货指令后,计算出货指令的接收时间与发送时间的时间差。
可将服务器发送出货指令时的时间(即上述发送时间)记为T1,将自动售货机接收到出货指令的时间(即接收时间)记为T2。
S23:自动售货机判断上述时间差是否大于预设的时间差阈值,若否,进入步骤S24,若是,进入S27。
本领域技术人员可根据需要灵活设计时间差阈值的取值,例如,设计为20秒。
S24:在上述时间差不大于上述时间差阈值时,自动售货机根据上述出货指示进行出货操作。
以时间差阈值等于20秒为例,当T2-T1<=20s时,进行出货操作。
S25:自动售货机返回出货状态为成功的出货结果。
在一个示例中,出货结果可包括“出货状态”字段,字段中的不同取值,可用于表征出货失败或出货成功。
步骤S22-S25,S27可统称为“处理出货指令”,其返回的出货结果也可称为处理结果。
S26:服务器将本地出货状态标记为成功。
每一次购买都是生成一个订单,订单关联了售货机以及商品的信息。
本地出货状态具体可为订单上的出货状态。
S27:在时间差大于预设的时间差阈值时,自动售货机返回包含出货状态为失败的出货结果。
出货结果是对服务器发出的出货指令的处理结果。
以时间差阈值等于20秒为例,当T2-T1>20s,也即,自动售货机接收到出货指令超时20s,自动售货机判断为超时。
此时,自动售货机不进行出货操作,而是返回服务器出货结果,告诉服务器出货失败。并且,出货结果中还包括失败原因,在此情景下失败原因为超时。
S28:服务器将本地出货状态标记为失败,发起退款操作。
可见,在本发明实施例中,自动售货机在接收到出货指令后,会计算出货指令的接收时间与其发送时间的时间差,在该时间差不大于预设的时间差阈值时,才进行出货操作。而若上述时间差大于预设的时间差阈值,则不进行出货,返回出货状态为失败的出货结果。这样可避免在超过时间差阈值后,购买者已发起退款或离开自动售货机,但自动售货机依然出货的情况,从而减少货损的发生。
在实际通讯中,由于网络不稳,出货指令可能在传输过程中丢失,造成无法出货。为解决上述问题,可采取出货指令重发及设备端幂等处理的方式来提高出货成功率。
图3示出了服务器与自动售货机之间相应的示例性交互流程,其可包括:
S31:在货品支付成功后,服务器(首次)向自动售货机发送出货指令。
首次发生的出货指令可以C1表示。
S32:若超过第一时间间隔仍未接收到出货结果,每隔第一时间间隔重发一次出货指令,直至接收到出货结果或者重发次数达到重发最大数N。
其中,N为不小于1的自然数;时间差阈值不小于第一时间间隔的N+1倍。
本领域技术人员可灵活设计N和第一时间间隔的取值,例如,可设计N=3,第一时间间隔=5秒,则时间差阈值不小于20秒。
需要说明的是,首次发送的出货指令与重发的出货指令是完全相同的,其携带的发送时间和编号也相同。
图4示出了服务器共发送4次出货指令的情况:
在发送出货指令C1后,因某种原因,C1未到达自动售货机;
在等待5秒后,服务器未收到出货结果(即处理结果),则重发一次出货指令(以C2表示)。
这一次,自动售货机接收到了出货指令C2,并进行了“处理出货指令”的操作(参见前述的步骤S22-S25和S27),返回C2的处理结果。
然而,C2的处理结果未到达服务器,则服务器在发送C2并等待5秒钟后,再次重发出货指令(以C3表示)。
自动售货机接收到了出货指令C3,进行幂等处理。
幂等处理,可表示为:f(C1)=f(C2)=f(C3)=f(C4)。
f(*)表示对括号内数据的处理,在本实施例中,f(C1)=f(C2)=f(C3)=f(C4)表示对C1-C4的处理结果相同,即幂等处理。
具体的,自动售货机可根据出货指令内部的编号判断是否重复,如果重复就不再进行出货处理,但可返回C2的处理结果。
也即,售货机处理第一次接收到的出货指令后,后续若再接收到相同的指令,就不再做出货处理,但返回处理第一次接收到的出货指令得到的处理结果。
若返回的C2的处理结果在5秒之后到达服务器,则服务器又再次重发出货指令(以C4表示)。
此时,已到达重发次数上限,不会再发送出货指令。自动售货机接收到了出货指令C4,进行幂等处理,返回C2的处理结果。
当然,在本发明其他实施例中,若自动售货机接收到多个相同的出货指令,也可仅返回一次处理结果。
可见,在本实施例中,在弱网环境下,服务器可进行消息重发,以提高出货指令到达自动售货机的机率,进而提高了出货成功率,而对于多个相同的出货指令,自动售货以幂等处理机制进行处理,避免重复操作。
当前国内自动售货机无法及时判断设备在线状态,出货时对设备网络状态判断错误,导致订单成功率受网络影响较大。
为进一步提高出货成功率,请参见图5,在首次发送出货指示之前,服务器与自动售货机之间可进行预下单尝试。
在一个示例中,预下单尝试时机可在消费者支付之前。例如,消费者使用移动终端(例如手机)扫描自动售货机屏幕上的二维码,访问服务器所提供的前端页面,在前端页面选择需要购买的商品,点击页面【购买】按钮;前端页面通知服务器售货机信息和商品信息。
之后,服务器与自动售货机之间可进行如下的示例性交互流程:
S51:向自动售货机发送预下单消息。
预下单消息是握手消息,是为了试探自动售货机是否在线的消息。
若自动售货机接收到了预下单消息,则自动售货机的操作如下:
S52:自动售货机返回预下单响应。
预下单响应也是握手消息。
当然,若自动售货机未接收到预下单消息,则不会返回预下单响应。
S53:若接收到预下单响应,服务器判定自动售货机在线。
在判定自动售货机在线后,服务器才会同意前端页面发起支付。
在一个示例中,可设置超时时间,若服务器在超时之前收到预下单响应,才会判定自动售货机在线。而若超时未收到预下单响应,服务器可判定自动售货机离线,通知前端页面终止支付,前端页面会提示网络故障,终止支付流程。
超时时间可依情况灵活设计,例如5秒、3秒等。
服务器同意前端页面发起支付后,前端页面调用微信/支付宝/云闪付唤起支付,即输入密码的支付环节,支付成功,服务器进入出货流程。在出货流程中服务器与自动售货机之间的交互可参见前述实施例的记载,在此不作赘述。
在本实施例中,在支付之前,服务器先做预下单操作,根据预下单结果(是否有预下单响应)判断自动售货机是否在线,从而决策是否同意前端页面发起支付,避免后续因设备离线状态或网络不稳定而导致出货失败。
在本发明其他实施例中,请参见图6,在发出出货指令后,若因网络延时,服务器无法及时收到出货结果,可进行如下操作:
S61:若超过第二时间间隔仍未接收到出货结果,将本地出货状态暂时标记为成功。
本领域技术人员可灵活设计第二时间间隔的长度,例如120秒、100秒等,在此不作赘述。
第二时间间隔是以出货指令的发送时间为起点计算的。以120秒为例,若超过120秒,服务器可判断为出货超时,暂时标记为成功或待确认。
S62:继续等待。
在判断出货超时后,服务器可开启一个定时器,定时器时长为第三时间间隔。
本领域技术人员可灵活设计第三时间间隔的长度,例如180秒、120秒等,在此不作赘述。
S63:若超过第三时间间隔仍未接收到出货结果,服务器向自动售货机发送出货结果请求(例如RRPC请求),以查询出货结果。
当然,若在定时器超时之前,收到出货结果,则不会执行S63。
需要说明的是,RRPC是阿里云物联网平台提供的一种服务器与贩卖机数据通讯的底层技术。服务器通过RRPC请求与自动售货机通讯,查询出货结果。
S64:若接收到出货结果请求,自动售货机返回出货结果。
S65:在接收到出货结果后,服务器根据出货结果中的出货状态更新本地出货状态。
此外,因网络问题,服务器在发出出货结果请求后,也可能一直收不到出货结果。在一个示例中,若超过第四时间间隔,服务器可将订单的出货状态标记为失败。
本领域技术人员可灵活设计第四时间间隔的时长,例如1分钟、2分钟、3分钟、5分钟等,在此不作赘述。
在本发明其他实施例,上述自动售货机还可以固定周期发送心跳请求。
上述心跳请求用于服务器端判断自动售货机是否在线。
在一个示例中,若服务器周期性接收到心跳请求,则可判定自动售货机在线,反之,若超时未接收到下一心跳请求,则可判定离线,将自动售货机对应的店铺设置为非营业状态(例如“打烊”)。
这样,消费者在通过二维码访问服务器的页面时,因店铺为非营业状态,后续不会进入支付流程。
本实施例缩短自动售货机与服务器的心跳请求时间,假设某一次接收到心跳请求的时间为Tn,下一次接收到心跳的时间为Tn+1,原离线判断间隔为Tn+1–Tn>20m,现在缩短为Tn+1–Tn>1m,这样,在线状态判断更精准。
请参见图7,自动售货机连接服务器1分钟发送一次心跳请求,服务器也会返回心跳响应。自动售货机离线后,心跳请求停止,若服务器超过1分钟没有接收到心跳请求,服务器判断自动售货机为离线状态,将其对应的店铺设置为“打烊”。
下面介绍自动售货机和服务器。
图8示出了自动售货机的一种示例性结构,包括:
通信单元81,用于接收出货指令;
上述出货指令由服务器端发送,出货指令包括发送时间和出货指示。
处理单元82,用于:
计算上述出货指令的接收时间与上述发送时间的时间差;
在上述时间差大于预设的时间差阈值时,返回包含出货状态为失败的出货结果;当上述出货状态为失败时,上述出货结果还包括失败原因;当上述时间差大于预设的时间差阈值时,上述失败原因为超时;
在上述时间差不大于上述时间差阈值时,根据上述出货指示进行出货操作,并返回出货状态为成功的出货结果。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的处理单元82还用于:
若接收到多个相同的出货指令,进行幂等处理。
其中,多个相同的出货指令是上述服务器端在首次发送出货指令但超过第一时间间隔未接收到出货结果后,每隔上述第一时间间隔重发一次上述出货指令,直至接收到出货结果或者重发次数达到重发最大数N造成的;上述N为不小于1的自然数;上述时间差阈值不小于上述第一时间间隔的N+1倍。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的处理单元82还可用于:
接收出货结果请求,并返回出货结果;
其中,上述出货结果请求是上述服务器端等待超过第三时间间隔后发送的;在等待上述第三时间间隔之前,上述服务器端在超过第二时间间隔仍未接收到出货结果后,将本地出货状态暂时标记为成功。
在本发明其他实施例中,在接收上述出货指令前,上述所有实施例中的处理单元82还可用于:
接收上述服务器端发送的预下单消息;
返回预下单响应;
上述出货指示是上述服务器端在接收到上述预下单响应后发出的。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的处理单元82还可用于:
以固定周期发送心跳请求;上述心跳请求用于上述服务器端判断上述自动售货机是否在线,若判定离线,将上述自动售货机对应的店铺设置为非营业状态。
具体细节请参见本文前述记载,在此不作赘述。
图9示出了服务器的一种示例性结构,包括:
通信模块91,用于:在货品支付成功后,(在处理模块92的控制下)向自动售货机发送出货指令;上述出货指令包括发送时间和出货指示;
处理模块92,用于:
在货品支付成功后,指示所述通信模块91向自动售货机发送出货指令;
在接收到出货结果后,若上述出货结果中的出货状态为成功,将本地出货状态标记为成功;若上述出货结果中的出货状态为失败,将本地出货状态标记为失败,发起退款操作;
其中,当上述出货状态为失败时,上述出货结果还包括失败原因;若上述失败原因为超时,表征上述出货指令的接收时间与上述发送时间的时间差大于预设的时间差阈值。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的处理模块92还用于:
若超过第二时间间隔仍未接收到出货结果,将本地出货状态暂时标记为成功;
继续等待,直至接收到出货结果或超过第三时间间隔;
若超过上述第三时间间隔,(指示通信模块91)向上述自动售货机发送出货结果请求;
在(通信模块91)接收到出货结果后,根据出货结果中的出货状态更新本地出货状态。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,在发送上述出货指示之前,上述所有实施例中的处理模块92还用于:
(指示通信模块91)向上述自动售货机发送预下单消息;
若接收到预下单响应,判定上述自动售货机在线,上述出货指示是在判定上述自动售货机在线后发送的;否则判定上述自动售货机离线。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
以上上述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种自动售货方法,其特征在于,应用于自动售货机;所述方法包括:
接收出货指令;所述出货指令由服务器端发送,所述出货指令包括发送时间和出货指示;
计算所述出货指令的接收时间与所述发送时间的时间差;
在所述时间差大于预设的时间差阈值时,返回包含出货状态为失败的出货结果;当所述出货状态为失败时,所述出货结果还包括失败原因;当所述时间差大于预设的时间差阈值时,所述失败原因为超时;
在所述时间差不大于所述时间差阈值时,根据所述出货指示进行出货操作,并返回出货状态为成功的出货结果;
所述方法还包括:
若接收到多个相同的出货指令,进行幂等处理;
其中,多个相同的出货指令是所述服务器端在首次发送出货指令但超过第一时间间隔未接收到出货结果后,每隔所述第一时间间隔重发一次所述出货指令,直至接收到出货结果或者重发次数达到重发最大数N;所述N为不小于1的自然数;所述时间差阈值不小于所述第一时间间隔的N+1倍。
2.如权利要求1所述的方法,其特征在于,还包括:
接收出货结果请求;
返回出货结果;
其中,所述出货结果请求是所述服务器端等待超过第三时间间隔后发送的;在等待所述第三时间间隔之前,所述服务器端在超过第二时间间隔仍未接收到出货结果后,将本地出货状态暂时标记为成功。
3.如权利要求1所述的方法,其特征在于,在接收所述出货指令前,还包括:
接收所述服务器端发送的预下单消息;
返回预下单响应;
所述出货指示是所述服务器端在接收到所述预下单响应后发出的。
4.如权利要求1所述的方法,其特征在于,还包括:
以固定周期发送心跳请求;所述心跳请求用于所述服务器端判断所述自动售货机是否在线,若判定离线,将所述自动售货机对应的店铺设置为非营业状态。
5.一种自动售货方法,其特征在于,应用于服务器;所述方法包括:
在货品支付成功后,向自动售货机发送出货指令;所述出货指令包括发送时间和出货指示;
在接收到出货结果后,若所述出货结果中的出货状态为成功,将本地出货状态标记为成功;若所述出货结果中的出货状态为失败,将本地出货状态标记为失败,发起退款操作;
其中,当所述出货状态为失败时,所述出货结果还包括失败原因;若所述失败原因为超时,表征所述出货指令的接收时间与所述发送时间的时间差大于预设的时间差阈值;
所述方法还包括:
发送多个相同的出货指令;
其中,多个相同的出货指令是所述服务器在首次发送出货指令但超过第一时间间隔未接收到出货结果后,每隔所述第一时间间隔重发一次所述出货指令,直至接收到出货结果或者重发次数达到重发最大数N;所述N为不小于1的自然数;所述时间差阈值不小于所述第一时间间隔的N+1倍。
6.如权利要求5所述的方法,其特征在于,
若超过第二时间间隔仍未接收到出货结果,将本地出货状态暂时标记为成功;
继续等待,直至接收到出货结果或超过第三时间间隔;
若超过所述第三时间间隔,向所述自动售货机发送出货结果请求;
在接收到出货结果后,根据出货结果中的出货状态更新本地出货状态。
7.如权利要求5所述的方法,其特征在于,在发送所述出货指示之前,还包括:
向所述自动售货机发送预下单消息;
若接收到预下单响应,判定所述自动售货机在线;否则判定所述自动售货机离线;所述出货指示是在判定所述自动售货机在线后发送的。
8.一种自动售货机,其特征在于,包括:
通信单元,用于接收出货指令;所述出货指令由服务器端发送,所述出货指令包括发送时间和出货指示;
处理单元,用于:
计算所述出货指令的接收时间与所述发送时间的时间差;
在所述时间差大于预设的时间差阈值时,返回包含出货状态为失败的出货结果;当所述出货状态为失败时,所述出货结果还包括失败原因;当所述时间差大于预设的时间差阈值时,所述失败原因为超时;
在所述时间差不大于所述时间差阈值时,根据所述出货指示进行出货操作,并返回出货状态为成功的出货结果;
所述处理单元,还用于:
若接收到多个相同的出货指令,进行幂等处理;
其中,多个相同的出货指令是所述服务器端在首次发送出货指令但超过第一时间间隔未接收到出货结果后,每隔所述第一时间间隔重发一次所述出货指令,直至接收到出货结果或者重发次数达到重发最大数N;所述N为不小于1的自然数;所述时间差阈值不小于所述第一时间间隔的N+1倍。
9.一种服务器,其特征在于,包括:
通信模块,用于:在货品支付成功后,向自动售货机发送出货指令;所述出货指令包括发送时间和出货指示;
处理模块,用于:
在接收到出货结果后,若所述出货结果中的出货状态为成功,将本地出货状态标记为成功;若所述出货结果中的出货状态为失败,将本地出货状态标记为失败,发起退款操作;
其中,当所述出货状态为失败时,所述出货结果还包括失败原因;若所述失败原因为超时,表征所述出货指令的接收时间与所述发送时间的时间差大于预设的时间差阈值;
所述通信模块,还用于:
发送多个相同的出货指令;
其中,多个相同的出货指令是所述服务器在首次发送出货指令但超过第一时间间隔未接收到出货结果后,每隔所述第一时间间隔重发一次所述出货指令,直至接收到出货结果或者重发次数达到重发最大数N;所述N为不小于1的自然数;所述时间差阈值不小于所述第一时间间隔的N+1倍。
CN201911149194.0A 2019-11-21 2019-11-21 自动售货方法、自动售货机及服务器 Active CN110838205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911149194.0A CN110838205B (zh) 2019-11-21 2019-11-21 自动售货方法、自动售货机及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911149194.0A CN110838205B (zh) 2019-11-21 2019-11-21 自动售货方法、自动售货机及服务器

Publications (2)

Publication Number Publication Date
CN110838205A CN110838205A (zh) 2020-02-25
CN110838205B true CN110838205B (zh) 2021-09-21

Family

ID=69577136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911149194.0A Active CN110838205B (zh) 2019-11-21 2019-11-21 自动售货方法、自动售货机及服务器

Country Status (1)

Country Link
CN (1) CN110838205B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113012343A (zh) * 2021-02-19 2021-06-22 中铁程科技有限责任公司 一种自动售卖机出货方法及相关设备
CN115965324B (zh) * 2023-03-16 2023-06-06 浙江天柜科技有限公司 一种基于自动售货机的商品销售方法及系统
CN116205554B (zh) * 2023-04-26 2024-02-09 浙江天柜科技有限公司 一种移动自助售货设备及售货控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08138113A (ja) * 1994-11-09 1996-05-31 Oki Electric Ind Co Ltd 自動取引装置
CN102750780A (zh) * 2011-04-22 2012-10-24 蔡晓明 自动售货机的商品存放付出装置及方法
CN105118159A (zh) * 2015-09-18 2015-12-02 杭州锦业科技有限公司 一种基于嵌入式和移动互联网的自动售货机的售货系统
CN106228367A (zh) * 2016-07-27 2016-12-14 北京奇虎科技有限公司 支付验证的方法和装置
JP2017091097A (ja) * 2015-11-06 2017-05-25 コニカミノルタ株式会社 操作システムおよび操作方法
CN109660529A (zh) * 2018-12-06 2019-04-19 深圳蓝贝科技有限公司 用于售卖机的安全风控方法、装置、售卖机和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08138113A (ja) * 1994-11-09 1996-05-31 Oki Electric Ind Co Ltd 自動取引装置
CN102750780A (zh) * 2011-04-22 2012-10-24 蔡晓明 自动售货机的商品存放付出装置及方法
CN105118159A (zh) * 2015-09-18 2015-12-02 杭州锦业科技有限公司 一种基于嵌入式和移动互联网的自动售货机的售货系统
JP2017091097A (ja) * 2015-11-06 2017-05-25 コニカミノルタ株式会社 操作システムおよび操作方法
CN106228367A (zh) * 2016-07-27 2016-12-14 北京奇虎科技有限公司 支付验证的方法和装置
CN109660529A (zh) * 2018-12-06 2019-04-19 深圳蓝贝科技有限公司 用于售卖机的安全风控方法、装置、售卖机和系统

Also Published As

Publication number Publication date
CN110838205A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
CN110838205B (zh) 自动售货方法、自动售货机及服务器
CN106850402A (zh) 消息的传输方法和装置
US6842613B2 (en) Automated service configuration of mobile radio station devices
KR101410948B1 (ko) 모바일 결제 처리 시스템 및 그 방법
CN103442394B (zh) 一种网络容量控制方法及装置
CN110351349A (zh) 一种实现云音箱工作的方法及系统
CN110060124A (zh) 订单处理方法、装置、存储介质及电子设备
CN105812176A (zh) 一种客户端主动式支持并发升级的远程升级方法
CN109379769A (zh) 一种数据传输方法、设备及计算机可读存储介质
CN105072082A (zh) 发送验证码的方法和装置
US20140108575A1 (en) Method and system for file transfer, instant messaging terminal, and computer storage medium
CN103095946B (zh) 一种充值卡充值方法、系统及装置
CN114065981A (zh) 订单数据处理方法、设备、平台、系统及计算机存储介质
CN109445806B (zh) 基于Ble的多设备升级方法、装置、系统及终端
CN107809481A (zh) 无线升级方法及装置
CN106453119A (zh) 一种认证控制方法及装置
CN101222682A (zh) 面向移动终端证券业务的通信平台、系统和方法
CN107277085A (zh) 业务补偿方法及装置
CN106980534A (zh) 基于sdk组件的业务执行方法及装置
CN106569420A (zh) 一种车辆远程控制系统及车控管理服务器
CN111107157B (zh) 基于云端的无人设备协同工作控制系统、方法、存储介质
CN110941404B (zh) 激光打印机的共享打印方法及系统
CN101493801B (zh) 通用串行总线驱动装置及方法
CN107316085A (zh) 一种舞台设备故障处理方法及系统
JP4009562B2 (ja) オンライン決済方法、オンライン決済システム、及びダイヤルアップルータ

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant