CN111339070A - 一种订单重复提交的控制方法及装置 - Google Patents
一种订单重复提交的控制方法及装置 Download PDFInfo
- Publication number
- CN111339070A CN111339070A CN202010104380.9A CN202010104380A CN111339070A CN 111339070 A CN111339070 A CN 111339070A CN 202010104380 A CN202010104380 A CN 202010104380A CN 111339070 A CN111339070 A CN 111339070A
- Authority
- CN
- China
- Prior art keywords
- order
- request information
- submission
- submitted
- repeatedly
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000010586 diagram Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开一种订单重复提交的控制方法,包括如下步骤:a.接收订单提交请求信息;b.根据所述订单提交请求信息判断所述订单是否被重复提交;c.若所述订单被重复提交,则拒绝所述订单提交请求;d.若所述订单未被重复提交,则处理所述订单;e.将所述订单提交请求信息写入所述订单记录存储单元。将所述订单提交请求信息使用setnx写入redis,若上述写入操作失败,则确定所述订单被重复提交。本发明使用方便,操作简单,能有效解决订单的重复提交,具有极高的商业价值。
Description
技术领域
本发明属于互联网技术领域,特别涉及一种订单重复提交的控制方法及装置。
背景技术
在服务器中,往往会出现由于用户的重复操作而造成的订单重复,而用户则是因为网络延迟、误操作等造成多次订单的重复递交,在提交给服务器的过程中,如果不能将重复订单清理掉,则会造成服务器显示、处理的重复,同时也会造成服务器存储亢余、增加服务器的负荷。
而在现有的技术中,往往通过人工的方式将重复的订单剔除,有更为智能的方法中,常常通过限制订单在一定时候内的递交次数等方式杜绝订单的重复提交,然而在更多的情况中,服务器并无法通过一种技术方案来完全杜绝订单的重复。
目前在现有的技术中,并没有一种订单重复提交的控制方法,具体地,缺少一种订单重复提交的控制方法及装置。
发明内容
针对现有技术存在的技术缺陷,本发明的目的是提供一种订单重复提交的控制方法,包括如下步骤:
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是”SET if Not eXists”的简写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,redis是一个key-value存储系统,其支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合),这些属于目前现有技术,在此不予赘述。
本领域技术人员理解,在现有的技术中存在使用redis来判断,进一步地,其通过提取所述页面标签值,并将所述页面标签值作为Key值而生成redis计数器;以及计数器判定步骤,在所述服务端,判断redis计数器的返回值,在该返回值为1时,判断为当前请求是新请求,并将该当前请求转发到后台服务进程中继续处理,在该返回值大于1时,判断为当前请求为重复提交的请求,而直接拒绝。而与本申请相比,本申请并未使用到redis计数器,而是使用的是redis的setnx『SET if Not eXists』(如果不存在,则SET),返回结果只有1和0,当结果等于1的时候判断为当前请求是新请求(对应于接受订单提交请求信息步骤),并将该当前请求转发到后台服务进程中继续处理。当结果等于0的时候判断为当前请求为重复提交的请求,而直接拒绝。
更为具体地,redis计数器可以对某一个key的数字进行增一,并且可以不断增加。一般场景是,在某个订单号提交了几次,判断订单号提交N次之后就不能再提交了。这个操作是原子性的自增(原子性指在一个操作是不可中断的,要么全部执行成功要么全部执行失败);而SETNX是『SET if Not eXists』的简写,可以对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,在此不予赘述。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
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):将所述订单提交请求信息写入所述订单记录存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010104380.9A CN111339070A (zh) | 2020-02-20 | 2020-02-20 | 一种订单重复提交的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010104380.9A CN111339070A (zh) | 2020-02-20 | 2020-02-20 | 一种订单重复提交的控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111339070A true CN111339070A (zh) | 2020-06-26 |
Family
ID=71181689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010104380.9A Pending CN111339070A (zh) | 2020-02-20 | 2020-02-20 | 一种订单重复提交的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339070A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256776A (zh) * | 2020-10-16 | 2021-01-22 | 武汉悦学帮网络技术有限公司 | 表单重复提交检测方法、装置、计算机设备和存储介质 |
CN113112330A (zh) * | 2021-04-23 | 2021-07-13 | 北京嘀嘀无限科技发展有限公司 | 出行订单处理方法、装置、设备、存储介质以及产品 |
CN113610537A (zh) * | 2021-08-05 | 2021-11-05 | 北京云从科技有限公司 | 请求执行方法、服务器、计算机设备和存储介质 |
CN113660201A (zh) * | 2021-07-08 | 2021-11-16 | 上海二三四五网络科技有限公司 | 一种高并发主键冲突的控制方法及控制装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150319238A1 (en) * | 2013-04-25 | 2015-11-05 | Tencent Technology (Shenzhen) Company Limited | Method, device and storage medium for data processing |
CN105139191A (zh) * | 2015-09-15 | 2015-12-09 | 联动优势电子商务有限公司 | 一种获取订单信息的方法及设备 |
CN106708975A (zh) * | 2016-12-06 | 2017-05-24 | 上海艾融软件股份有限公司 | 商品库存信息的处理方法及系统 |
CN108959279A (zh) * | 2017-05-17 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 数据处理方法、数据处理装置、可读介质及电子设备 |
CN109246077A (zh) * | 2018-08-01 | 2019-01-18 | 广州唯品会信息科技有限公司 | 分布式并发交易校验方法、装置和计算机存储介质 |
CN110334086A (zh) * | 2019-05-30 | 2019-10-15 | 平安科技(深圳)有限公司 | 数据去重方法、装置、计算机设备以及存储介质 |
-
2020
- 2020-02-20 CN CN202010104380.9A patent/CN111339070A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150319238A1 (en) * | 2013-04-25 | 2015-11-05 | Tencent Technology (Shenzhen) Company Limited | Method, device and storage medium for data processing |
CN105139191A (zh) * | 2015-09-15 | 2015-12-09 | 联动优势电子商务有限公司 | 一种获取订单信息的方法及设备 |
CN106708975A (zh) * | 2016-12-06 | 2017-05-24 | 上海艾融软件股份有限公司 | 商品库存信息的处理方法及系统 |
CN108959279A (zh) * | 2017-05-17 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 数据处理方法、数据处理装置、可读介质及电子设备 |
CN109246077A (zh) * | 2018-08-01 | 2019-01-18 | 广州唯品会信息科技有限公司 | 分布式并发交易校验方法、装置和计算机存储介质 |
CN110334086A (zh) * | 2019-05-30 | 2019-10-15 | 平安科技(深圳)有限公司 | 数据去重方法、装置、计算机设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
黄志超等, 中国铁道出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256776A (zh) * | 2020-10-16 | 2021-01-22 | 武汉悦学帮网络技术有限公司 | 表单重复提交检测方法、装置、计算机设备和存储介质 |
CN112256776B (zh) * | 2020-10-16 | 2022-11-22 | 武汉悦学帮网络技术有限公司 | 表单重复提交检测方法、装置、计算机设备和存储介质 |
CN113112330A (zh) * | 2021-04-23 | 2021-07-13 | 北京嘀嘀无限科技发展有限公司 | 出行订单处理方法、装置、设备、存储介质以及产品 |
CN113660201A (zh) * | 2021-07-08 | 2021-11-16 | 上海二三四五网络科技有限公司 | 一种高并发主键冲突的控制方法及控制装置 |
CN113610537A (zh) * | 2021-08-05 | 2021-11-05 | 北京云从科技有限公司 | 请求执行方法、服务器、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339070A (zh) | 一种订单重复提交的控制方法及装置 | |
US11537659B2 (en) | Method for reading and writing data and distributed storage system | |
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
US5819272A (en) | Record tracking in database replication | |
US8280860B2 (en) | Method for increasing deduplication speed on data streams fragmented by shuffling | |
US8407185B2 (en) | Computer, its processing method, and computer system | |
US20140136575A1 (en) | Log-structured garbage collection | |
US10346364B2 (en) | Efficient data storage utilization and recycling by gradual data degradation | |
US20070061359A1 (en) | Organizing managed content for efficient storage and management | |
WO2021238252A1 (zh) | 一种分布式文件系统文件局部随机预读的方法和设备 | |
US8850148B2 (en) | Data copy management for faster reads | |
US20180300250A1 (en) | Method and apparatus for storing data | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
US10747621B2 (en) | Data management and backup for image and video media | |
CN105260639A (zh) | 一种脸部识别系统的数据更新的方法及装置 | |
CN110618974A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN114564457A (zh) | 一种针对数据库文件的存储空间优化方法及系统 | |
RU2665272C1 (ru) | Способ и устройство для восстановления дедуплицированных данных | |
US11853229B2 (en) | Method and apparatus for updating cached information, device, and medium | |
CN110389714B (zh) | 用于数据输入输出的方法、装置和计算机存储介质 | |
JP4177833B2 (ja) | リンクリストへのマルチプロセスアクセス方法および装置 | |
US20160203056A1 (en) | Apparatus, snapshot management method, and recording medium | |
US8909875B1 (en) | Methods and apparatus for storing a new version of an object on a content addressable storage system | |
CN110737635B (zh) | 一种数据分块方法 | |
CN110795043B (zh) | 一种分布式存储块置零方法、装置、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200626 |