推荐一种订单重复提交的控制方法及装置与流程

将乐信息网 http://www.jianglexinxi.cn 2020-10-18 22:39 出处:网络
这篇文章提供的推荐一种订单重复提交的控制方法及装置与流程,可以跟着小编一起阅读下去

这篇文章提供的推荐一种订单重复提交的控制方法及装置与流程,可以跟着小编一起阅读下去


本发明属于互联网技术领域,特别涉及一种订单重复提交的控制方法及装置。



背景技术:

在服务器中,往往会出现由于用户的重复操作而造成的订单重复,而用户则是因为网络延迟、误操作等造成多次订单的重复递交,在提交给服务器的过程中,如果不能将重复订单清理掉,则会造成服务器显示、处理的重复,同时也会造成服务器存储亢余、增加服务器的负荷。

而在现有的技术中,往往通过人工的方式将重复的订单剔除,有更为智能的方法中,常常通过限制订单在一定时候内的递交次数等方式杜绝订单的重复提交,然而在更多的情况中,服务器并无法通过一种技术方案来完全杜绝订单的重复。

目前在现有的技术中,并没有一种订单重复提交的控制方法,具体地,缺少一种订单重复提交的控制方法及装置。



技术实现要素:

针对现有技术存在的技术缺陷,本发明的目的是提供一种订单重复提交的控制方法,包括如下步骤:

a.接收订单提交请求信息;

b.根据所述订单提交请求信息判断所述订单是否被重复提交;

c.若所述订单被重复提交,则拒绝所述订单提交请求。

优选地,所述步骤b包括如下步骤:

b1.将所述订单提交请求信息写入订单记录存储单元;

b2.若上述写入操作失败,则确定所述订单被重复提交。

优选地,所述步骤b1包括如下步骤:

b11.将所述订单提交请求信息使用setnx写入redis。

优选地,所述步骤b1包括如下步骤:

b12.基于mysql处理所述订单提交请求信息。

优选地,在所述步骤c之后还包括如下步骤:

d.若所述订单未被重复提交,则处理所述订单;

e.将所述订单提交请求信息写入所述订单记录存储单元。

优选地,所述存储于所述订单记录存储单元中的订单提交请求信息在届满第一阈值时间后被删除。

优选地,所述第一阈值时间为0~60min。

根据本发明的另一方面,提供了一种订单重复提交的控制装置,包括:

第一接收装置:接收订单提交请求信息;

第一判断装置:根据所述订单提交请求信息判断所述订单是否被重复提交;

第一处理装置:若所述订单被重复提交,则拒绝所述订单提交请求。

优选地,所述第一判断装置包括:

第二处理装置:将所述订单提交请求信息写入订单记录存储单元;

第一确定装置:若上述写入操作失败,则确定所述订单被重复提交。

优选地,还包括:

第三处理装置:若所述订单未被重复提交,则处理所述订单;

第四处理装置:将所述订单提交请求信息写入所述订单记录存储单元。

本发明公开了一种订单重复提交的控制方法,其通过接收订单提交请求信息,并根据所述订单提交请求信息判断所述订单是否被重复提交;若所述订单被重复提交,则拒绝所述订单提交请求,更为具体地,将所述订单提交请求信息使用setnx写入redis,若上述写入操作失败,则确定所述订单被重复提交。本发明使用方便,操作简单,能有效解决订单的重复提交,具有极高的商业价值。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出了本发明的具体实施方式的,一种订单重复提交的控制方法的具体流程示意图;

图2示出了本发明的第一实施例的,根据所述订单提交请求信息判断所述订单是否被重复提交的具体流程示意图;

图3示出了本发明的第二实施例的,一种订单重复提交的控制方法的具体流程示意图;以及

图4示出了本发明的另一具体实施方式的,一种订单重复提交的控制装置的模块连接示意图。

具体实施方式

为了更好的使本发明的技术方案清晰的表示出来,下面结合附图对本发明作进一步说明。

本领域技术人员理解,针对现有技术的不足,本发明公开了一种订单重复提交的控制方法及装置,其能够有效的监测重复的订单,并拒绝重复订单的写入,从源头上处理订单的重复提交,具体地,图1示出了本发明的具体实施方式的,一种订单重复提交的控制方法的具体流程示意图,具体地,包括如下步骤:

首先,进入步骤s101,接收订单提交请求信息,在这样的实施例中,所述订单提交请求信息至少包括用于订单提交请求的指令信息以及订单数据信息,而在一个优选地实施例中,所述订单可以为交易订单、下载订单、公布订单等等,更进一步地,所述订单不仅仅可以为订单信息,还可以为其他信息,例如浏览信息、输入信息等等,即本发明旨在解决一种信息数据的重复提交的问题,包括但不限于订单,在本发明所记载的具体实施方案中,使用电脑作为控制方法的载体,但在其他的实施例中,还可以使用其他智能终端设备作为解决本发明技术问题的载体,在此不予赘述。

然后,进入步骤s102,根据所述订单提交请求信息判断所述订单是否被重复提交,本步骤s102为判断步骤,具体地,在步骤s101中记载,所述订单提交请求信息至少包括用于订单提交请求的指令信息以及订单数据信息,而步骤s102即判断所述订单数据信息是否被重复提交,本发明将在后述的具体实施方式中作进一步的描述,在此不予赘述。

最后,进入步骤s103,若所述订单被重复提交,则拒绝所述订单提交请求,在这样的实施例中,判断订单是否可以写入存储单元,如果不能被写入,则表明订单重复提交,拒绝处理订单,在其他优选地实施例中,若所述存储单元中在先存在有第一数据,而所述订单中同样存在有第一数据,则也会被判断为订单重复提交。

图2示出了本发明的第一实施例的,根据所述订单提交请求信息判断所述订单是否被重复提交的具体流程示意图,图2主要对步骤s102作进一步地详细描述,具体地,包括如下步骤:

首先,进入步骤s1021,将所述订单提交请求信息写入订单记录存储单元,本领域技术人员理解,将所述订单提交请求信息写入订单记录存储单元即为将所述订单提交请求信息打上标记,并将标记后的订单提交请求信息进行存储,在一个优选地实施例中,将所述订单提交请求信息使用setnx写入redis,setnx是”setifnotexists”的简写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,redis是一个key-value存储系统,其支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合),这些属于目前现有技术,在此不予赘述。

本领域技术人员理解,在现有的技术中存在使用redis来判断,进一步地,其通过提取所述页面标签值,并将所述页面标签值作为key值而生成redis计数器;以及计数器判定步骤,在所述服务端,判断redis计数器的返回值,在该返回值为1时,判断为当前请求是新请求,并将该当前请求转发到后台服务进程中继续处理,在该返回值大于1时,判断为当前请求为重复提交的请求,而直接拒绝。而与本申请相比,本申请并未使用到redis计数器,而是使用的是redis的setnx『setifnotexists』(如果不存在,则set),返回结果只有1和0,当结果等于1的时候判断为当前请求是新请求(对应于接受订单提交请求信息步骤),并将该当前请求转发到后台服务进程中继续处理。当结果等于0的时候判断为当前请求为重复提交的请求,而直接拒绝。

更为具体地,redis计数器可以对某一个key的数字进行增一,并且可以不断增加。一般场景是,在某个订单号提交了几次,判断订单号提交n次之后就不能再提交了。这个操作是原子性的自增(原子性指在一个操作是不可中断的,要么全部执行成功要么全部执行失败);而setnx是『setifnotexists』的简写,可以对redis某一个key设置值,如果key不存在则可以设置成功,如果存在,则会设置失败。一般场景是,将订单号设置为key,而订单号只能提交一次,这是和redis方式最大的不同,虽然该操作也是原子性的。虽然说上述两种技术方案,实现的都是控制订单重复提交的功能,但是两者技术方案存在明显不同,setnx较redis逻辑撰写起来更方便,代码行数更短,更为简单方便,而且也更适合用于本发明所述的应用场景。

进一步地,将所述订单提交请求信息写入订单记录存储单元的技术方案还可以基于mysql处理所述订单提交请求信息,还可以通过其他缓存,比如memcache进行处理,在此不予赘述。

最后,进入步骤s1022,若上述写入操作失败,则确定所述订单被重复提交,进一步地,若上述写入操作成功,则判断所述订单并不是重复订单,并被写入到存储单元。

图3示出了本发明的第二实施例的,一种订单重复提交的控制方法的具体流程示意图,具体地,包括:

首先,进入步骤s201,本领域技术人员理解,所述步骤s201至所述步骤s203可以参考前述步骤s101至所述步骤s103,在此不予赘述。

然后,进入步骤s204,若所述订单未被重复提交,则处理所述订单,作为本发明的一个优选实施例,所述订单未被重复提交,则将所述订单加入到排队序列,系统将基于排队序列依次处理未被重复提交的订单。

最后,进入步骤s205,将所述订单提交请求信息写入所述订单记录存储单元,在这样的实施例中,虽然所述订单未被重复提交,但为防止后续的订单与当前订单重复,优选地将所述订单提交请求信息写入所述订单记录存储单元,当后续订单中的写入操作失败后,即认为重复提交。

进一步地,所述存储于所述订单记录存储单元中的订单提交请求信息在届满第一阈值时间后被删除,本领域技术人员理解,所述第一阈值时间为0~60min,所述第一阈值优选地为20分钟,而在其他的实施例中,还可以为40分钟、2h甚至更长时间。本领域技术人员理解,上述删除功能为redis原生的功能,不需要手动处理,但在其他的实施例中,还可以将删除模式设置为只要关闭当前浏览窗口或者当用户清理缓存时,删除所述存储于所述订单记录存储单元中的订单提交请求信息。

图4示出了本发明的另一具体实施方式的,一种订单重复提交的控制装置的模块连接示意图。本发明提供了一种订单重复提交的控制装置,包括第一接收装置,接收订单提交请求信息,所述第一接收装置的工作原理可以参考前述步骤s101,在此不予赘述。

进一步地,所述控制装置还包括第一判断装置,根据所述订单提交请求信息判断所述订单是否被重复提交,所述第一判断装置的工作原理可以参考前述步骤s102,在此不予赘述。

进一步地,所述控制装置还包括第一处理装置,若所述订单被重复提交,则拒绝所述订单提交请求,所述第一处理装置的工作原理可以参考前述步骤s103,在此不予赘述。

进一步地,所述第一判断装置包括第二处理装置,将所述订单提交请求信息写入订单记录存储单元,所述第二处理装置的工作原理可以参考前述步骤s1021,在此不予赘述。

进一步地,所述第一判断装置还包括第一确定装置,若上述写入操作失败,则确定所述订单被重复提交,所述第一确定装置的工作原理可以参考前述步骤s1022,在此不予赘述。

进一步地,所述控制装置还包括第三处理装置,若所述订单未被重复提交,则处理所述订单,所述第三处理装置的工作原理可以参考前述步骤s204,在此不予赘述。

进一步地,所述控制装置还包括第四处理装置,将所述订单提交请求信息写入所述订单记录存储单元,所述第四处理装置的工作原理可以参考前述步骤s205,在此不予赘述。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。


技术特征:

1.一种订单重复提交的控制方法,其特征在于,包括如下步骤:

a.接收订单提交请求信息;

b.根据所述订单提交请求信息判断所述订单是否被重复提交;

c.若所述订单被重复提交,则拒绝所述订单提交请求。

2.根据权利要求1所述的控制方法,其特征在于,所述步骤b包括如下步骤:

b1.将所述订单提交请求信息写入订单记录存储单元;

b2.若上述写入操作失败,则确定所述订单被重复提交。

3.根据权利要求2所述的控制方法,其特征在于,所述步骤b1包括如下步骤:

b11.将所述订单提交请求信息使用setnx写入redis,其中,当返回结果为1时,确认未重复提交,当返回结果为0时,确认重复递交。

4.根据权利要求2所述的控制方法,其特征在于,所述步骤b1包括如下步骤:

b12.基于mysql处理所述订单提交请求信息。

5.根据权利要求1至4中任一项所述的控制方法,其特征在于,在所述步骤c之后还包括如下步骤:

d.若所述订单未被重复提交,则处理所述订单;

e.将所述订单提交请求信息写入所述订单记录存储单元。

6.根据权利要求2至5中任一项所述的控制方法,其特征在于,所述存储于所述订单记录存储单元中的订单提交请求信息在届满第一阈值时间后被删除。

7.根据权利要求6所述的控制方法,其特征在于,所述第一阈值时间为0~60min。

8.一种订单重复提交的控制装置,采用如权利要求1至7中任一项所述的控制方法,其特征在于,包括:

第一接收装置(1):接收订单提交请求信息;

第一判断装置(2):根据所述订单提交请求信息判断所述订单是否被重复提交;

第一处理装置(3):若所述订单被重复提交,则拒绝所述订单提交请求。

9.根据权利要求8所述的控制装置,其特征在于,所述第一判断装置(2)包括:

第二处理装置(21):将所述订单提交请求信息写入订单记录存储单元;

第一确定装置(22):若上述写入操作失败,则确定所述订单被重复提交。

10.根据权利要求8所述的控制装置,其特征在于,还包括:

第三处理装置(4):若所述订单未被重复提交,则处理所述订单;

第四处理装置(5):将所述订单提交请求信息写入所述订单记录存储单元。

技术总结
本发明公开一种订单重复提交的控制方法,包括如下步骤:a.接收订单提交请求信息;b.根据所述订单提交请求信息判断所述订单是否被重复提交;c.若所述订单被重复提交,则拒绝所述订单提交请求;d.若所述订单未被重复提交,则处理所述订单;e.将所述订单提交请求信息写入所述订单记录存储单元。将所述订单提交请求信息使用setnx写入redis,若上述写入操作失败,则确定所述订单被重复提交。本发明使用方便,操作简单,能有效解决订单的重复提交,具有极高的商业价值。

技术研发人员:陈超
受保护的技术使用者:上海二三四五网络科技有限公司
技术研发日:2020.02.20
技术公布日:2020.06.26

推荐一种订单重复提交的控制方法及装置与流程的相关内容如下:

本文标题:推荐一种订单重复提交的控制方法及装置与流程
http://www.jianglexinxi.cn/yanergaozhi/523260.html

0

精彩评论

暂无评论...
验证码 换一张
取 消