CN108182617B - 一种小型高并发扣减库存下单订单方法 - Google Patents

一种小型高并发扣减库存下单订单方法 Download PDF

Info

Publication number
CN108182617B
CN108182617B CN201711220801.9A CN201711220801A CN108182617B CN 108182617 B CN108182617 B CN 108182617B CN 201711220801 A CN201711220801 A CN 201711220801A CN 108182617 B CN108182617 B CN 108182617B
Authority
CN
China
Prior art keywords
virtual
inventory
pipeline
pipelines
stock
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
CN201711220801.9A
Other languages
English (en)
Other versions
CN108182617A (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.)
Shopex Software Co ltd
Original Assignee
Shopex Software 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 Shopex Software Co ltd filed Critical Shopex Software Co ltd
Priority to CN201711220801.9A priority Critical patent/CN108182617B/zh
Publication of CN108182617A publication Critical patent/CN108182617A/zh
Application granted granted Critical
Publication of CN108182617B publication Critical patent/CN108182617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种小型高并发扣减库存下单订单方法,属于订单处理技术领域,分别建立虚拟管道、虚拟外部锁、虚拟管道表和虚拟库存池;每个货品对应多个虚拟管道和多个虚拟库存池,多个虚拟管道和多个虚拟库存池一一对应,虚拟库存池放在MYSQL数据表中;在库存扣减高并发的情况下,发起的每件事务先在虚拟管道表中查找当前可用虚拟管道,并按顺序找到非LOCK的虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行库存修改;当该虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道进行多库存池扣减。本发明采用外部锁机制与多个库存池分摊并发,能线性提升并发量,实现较为方便。

Description

一种小型高并发扣减库存下单订单方法
技术领域
本发明涉及一种扣减库存下单订单方法,特别是涉及一种小型高并发扣减库存下单订单方法,属于订单处理技术领域。
背景技术
近年来电子商务在我国蓬勃发展,人们越来越习惯于网上购物。随着电子信息的发展,基于移动互联网的订单服务得到了广泛地使用。目前,开源PHP+MYSQL电商***的下单和库存扣减的实现原理几乎是相同的,即下单和扣减库存放在事务里执行,但该事务流程无法应对高并发下的库存扣减,在高并发下单场景下,多个用户创建了多个事务,同时修改一个商品的库存,而修改时MYSQL会建锁锁住,导致前一个事务没执行完,锁无法释放,后面的扣减库存都会失败。
发明内容
本发明的主要目的是为了提供一种小型高并发扣减库存下单订单方法,采用外部锁机制与多个库存池分摊并发,能线性提升并发量,实现较为方便。
本发明的目的可以通过采用如下技术方案达到:
一种小型高并发扣减库存下单订单方法,包括:
分别建立虚拟管道、虚拟外部锁、虚拟管道表和虚拟库存池;
每个货品对应多个虚拟管道和多个虚拟库存池,多个虚拟管道和多个虚拟库存池一一对应,虚拟库存池放在MYSQL数据表中;
在库存扣减高并发的情况下,发起的每件事务先在虚拟管道表中查找当前可用虚拟管道,并按顺序找到非LOCK的虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行库存修改;
当该虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道进行多库存池扣减。
进一步的,所述虚拟管道输送库存货品列表,所述虚拟外部锁在管道占用时,锁止虚拟管道;所述虚拟管道表存放货品的管道列表;所述虚拟库存池为含有需要的货品的库存。
进一步的,所述虚拟管道存放在内存中,虚拟管道表和管道列表也均存放在内存中。
进一步的,发起的每件事务进入虚拟管道时,会将该虚拟管道标识为LOCK状态,并记录LOCK状态的时间。
进一步的,在该虚拟管道处于LOCK状态时,该虚拟管道禁止使用。
进一步的,当事务结束后,虚拟管道标识解除,该虚拟管道可以使用。
进一步的,当虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行多库存池扣减。
本发明的有益技术效果:按照本发明的小型高并发扣减库存下单订单方法,本发明提供的小型高并发扣减库存下单订单方法,分别建立虚拟管道、虚拟外部锁、虚拟管道表和虚拟库存池;每个货品对应多个虚拟管道和多个虚拟库存池,多个虚拟管道和多个虚拟库存池一一对应,虚拟库存池放在MYSQL数据表中;在库存扣减高并发的情况下,发起的每件事务先在虚拟管道表中查找当前可用虚拟管道,并按顺序找到非LOCK的虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行库存修改;当该虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道进行多库存池扣减。采用外部锁机制与多个库存池分摊并发,能线性提升并发量,实现较为方便。
具体实施方式
为使本领域技术人员更加清楚和明确本发明的技术方案,下面结合实施例对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本实施例提供的一种小型高并发扣减库存下单订单方法,包括:
分别建立虚拟管道、虚拟外部锁、虚拟管道表和虚拟库存池;
每个货品对应多个虚拟管道和多个虚拟库存池,多个虚拟管道和多个虚拟库存池一一对应,虚拟库存池放在MYSQL数据表中;
在库存扣减高并发的情况下,发起的每件事务先在虚拟管道表中查找当前可用虚拟管道,并按顺序找到非LOCK的虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行库存修改;
当该虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道进行多库存池扣减。
在一些实施例中,所述虚拟管道输送库存货品列表,所述虚拟外部锁在管道占用时,锁止虚拟管道;所述虚拟管道表存放货品的管道列表;所述虚拟库存池为含有需要的货品的库存。
在一些实施例中,所述虚拟管道存放在内存中,虚拟管道表和管道列表也均存放在内存中。
在一些实施例中,发起的每件事务进入虚拟管道时,会将该虚拟管道标识为LOCK状态,并记录LOCK状态的时间。
在一些实施例中,在该虚拟管道处于LOCK状态时,该虚拟管道禁止使用。
在一些实施例中,当事务结束后,虚拟管道标识解除,该虚拟管道可以使用。
在一些实施例中,当虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行多库存池扣减。
综上所述,在本实施例中,按照本实施例的小型高并发扣减库存下单订单方法,本实施例提供的小型高并发扣减库存下单订单方法,分别建立虚拟管道、虚拟外部锁、虚拟管道表和虚拟库存池;每个货品对应多个虚拟管道和多个虚拟库存池,多个虚拟管道和多个虚拟库存池一一对应,虚拟库存池放在MYSQL数据表中;在库存扣减高并发的情况下,发起的每件事务先在虚拟管道表中查找当前可用虚拟管道,并按顺序找到非LOCK的虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行库存修改;当该虚拟库存池不可用时,自动占用其他可用虚拟管道,并LOCK住该虚拟管道进行多库存池扣减。采用外部锁机制与多个库存池分摊并发,能线性提升并发量,实现较为方便。
以上所述,仅为本发明进一步的实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明所公开的范围内,根据本发明的技术方案及其构思加以等同替换或改变,都属于本发明的保护范围。

Claims (4)

1.一种小型高并发扣减库存下单订单方法,其特征在于,包括:
分别建立虚拟管道、虚拟外部锁、虚拟管道表和虚拟库存池,所述虚拟管道输送库存货品列表;所述虚拟外部锁在管道占用时,锁止虚拟管道;所述虚拟管道表存放货品的管道列表;所述虚拟库存池为含有需要的货品的库存;
每个货品对应多个虚拟管道和多个虚拟库存池,多个虚拟管道和多个虚拟库存池一一对应,虚拟库存池放在MYSQL数据表中;
在库存扣减高并发的情况下,发起的每件事务先在虚拟管道表中查找当前可用虚拟管道,并按顺序找到非锁止的可用虚拟管道并进入该可用虚拟管道,同时将该可用虚拟管道标识为锁止状态并记录锁止状态的时间,所述发起的每件事务通过虚拟管道进入虚拟库存池中对应的库存数据,进行库存修改;
当该虚拟库存池不可用时,自动占用其他可用虚拟管道,并锁止该虚拟管道,通过虚拟管道进入虚拟库存池中对应的库存数据,进行多库存池扣减。
2.根据权利要求1所述的一种小型高并发扣减库存下单订单方法,其特征在于,所述虚拟管道存放在内存中,虚拟管道表和管道列表也均存放在内存中。
3.根据权利要求1所述的一种小型高并发扣减库存下单订单方法,其特征在于,在该虚拟管道处于锁止状态时,该虚拟管道禁止使用。
4.根据权利要求3所述的一种小型高并发扣减库存下单订单方法,其特征在于,当事务结束后,虚拟管道标识解除,该虚拟管道可以使用。
CN201711220801.9A 2017-11-29 2017-11-29 一种小型高并发扣减库存下单订单方法 Active CN108182617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711220801.9A CN108182617B (zh) 2017-11-29 2017-11-29 一种小型高并发扣减库存下单订单方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711220801.9A CN108182617B (zh) 2017-11-29 2017-11-29 一种小型高并发扣减库存下单订单方法

Publications (2)

Publication Number Publication Date
CN108182617A CN108182617A (zh) 2018-06-19
CN108182617B true CN108182617B (zh) 2021-06-25

Family

ID=62545457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711220801.9A Active CN108182617B (zh) 2017-11-29 2017-11-29 一种小型高并发扣减库存下单订单方法

Country Status (1)

Country Link
CN (1) CN108182617B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898937B (zh) * 2020-07-02 2024-03-01 拉扎斯网络科技(上海)有限公司 库存管理方法、装置、设备和***
CN113077220A (zh) * 2021-04-16 2021-07-06 北京京东拓先科技有限公司 用户请求的处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103426072A (zh) * 2013-07-16 2013-12-04 无限极(中国)有限公司 一种高并发竞争库存的订单处理***及其处理方法
CN103914776A (zh) * 2013-01-08 2014-07-09 纽海信息技术(上海)有限公司 退单处理***及方法
CN105046466A (zh) * 2015-06-29 2015-11-11 上海瀚之友信息技术服务有限公司 库存数据的并发控制***及方法
CN106156975A (zh) * 2015-04-23 2016-11-23 阿里巴巴集团控股有限公司 业务对象的库存信息处理方法及装置
CN106204232A (zh) * 2016-07-18 2016-12-07 苏州华车网络科技有限公司 一种处理高并发交互数据请求的***和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914776A (zh) * 2013-01-08 2014-07-09 纽海信息技术(上海)有限公司 退单处理***及方法
CN103426072A (zh) * 2013-07-16 2013-12-04 无限极(中国)有限公司 一种高并发竞争库存的订单处理***及其处理方法
CN106156975A (zh) * 2015-04-23 2016-11-23 阿里巴巴集团控股有限公司 业务对象的库存信息处理方法及装置
CN105046466A (zh) * 2015-06-29 2015-11-11 上海瀚之友信息技术服务有限公司 库存数据的并发控制***及方法
CN106204232A (zh) * 2016-07-18 2016-12-07 苏州华车网络科技有限公司 一种处理高并发交互数据请求的***和方法

Also Published As

Publication number Publication date
CN108182617A (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
US10146792B1 (en) Systems and methods for implementing a programming model for smart contracts within a decentralized computer network
CN111898139B (zh) 数据读写方法及装置、电子设备
Wierda Mastering ArchiMate Edition III: A serious introduction to the ArchiMate enterprise architecture modeling language
KR101959153B1 (ko) 데이터베이스에서의 계좌와 관련된 거래 요청의 효율적인 처리를 위한 시스템
CN110046900B (zh) 基于区块链的***作废方法和装置、电子设备
CN108182617B (zh) 一种小型高并发扣减库存下单订单方法
WO2016058486A1 (zh) 信息展示方法及装置
CN104126179A (zh) 用于多核处理器中的核心间通信的方法、装置和计算机程序产品
TW202025057A (zh) 欄位更新方法及裝置、電子設備
US11783239B2 (en) Methods and systems for managing simultaneous events
US20180081691A1 (en) REPLAYING SPECULATIVELY DISPATCHED LOAD-DEPENDENT INSTRUCTIONS IN RESPONSE TO A CACHE MISS FOR A PRODUCING LOAD INSTRUCTION IN AN OUT-OF-ORDER PROCESSOR (OoP)
Whited et al. Computer-assisted animation of line and paint in Disney's Paperman
US20210083850A1 (en) Method and system to execute and record transactions for a key in a blockchain
JP6975153B2 (ja) データ格納サービス処理方法及び装置
WO2018032982A1 (zh) 电子支付过程中资金交易路径的检测方法和装置
CN111158927B (zh) 进程间通信方法、装置及存储介质
US10650021B2 (en) Managing data operations in an integrated database system
CN112491885B (zh) 一种电子凭证的传输方法、装置及设备
US9336257B2 (en) Systems and methods providing a soft exit state for secondary business objects locks
US10929454B2 (en) System and method for organizing notes
US20180246773A1 (en) Request of an mcs lock by guests
CN111190910B (zh) 额度资源的处理方法、装置、电子设备及可读存储介质
CN109582834B (zh) 数据风险预测方法及装置
CN113791576B (zh) 一种轨迹间的局部光顺过渡方法、装置、设备及存储介质
CN105989064A (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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Small and High Concurrent Method for Reducing Inventory and Placing Orders

Effective date of registration: 20230712

Granted publication date: 20210625

Pledgee: Industrial Bank Co.,Ltd. Shanghai Jinqiao Branch

Pledgor: SHANGHAI SHOPEX NETWORK TECHNOLOGY Co.,Ltd.|SHOPEX SOFTWARE CO.,LTD.

Registration number: Y2023310000365

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20231007

Granted publication date: 20210625

Pledgee: Industrial Bank Co.,Ltd. Shanghai Jinqiao Branch

Pledgor: SHANGHAI SHOPEX NETWORK TECHNOLOGY Co.,Ltd.|SHOPEX SOFTWARE CO.,LTD.

Registration number: Y2023310000365

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Small and High Concurrent Method for Reducing Inventory and Placing Orders

Effective date of registration: 20231010

Granted publication date: 20210625

Pledgee: Industrial Bank Co.,Ltd. Shanghai Jinqiao Branch

Pledgor: SHOPEX SOFTWARE CO.,LTD.

Registration number: Y2023310000635

PE01 Entry into force of the registration of the contract for pledge of patent right