CN109345353B - 一种基于关系型分布式数据库的新型秒杀方法 - Google Patents
一种基于关系型分布式数据库的新型秒杀方法 Download PDFInfo
- Publication number
- CN109345353B CN109345353B CN201811194559.7A CN201811194559A CN109345353B CN 109345353 B CN109345353 B CN 109345353B CN 201811194559 A CN201811194559 A CN 201811194559A CN 109345353 B CN109345353 B CN 109345353B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- killing
- commodity
- user
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0607—Regulated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0235—Discounts or incentives, e.g. coupons or rebates constrained by time limit or expiration date
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0239—Online discounts or incentives
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于关系型分布式数据库的新型秒杀方法,步骤如下:步骤一:构建秒杀商品表,包括根据秒杀商品构建出商品表,并根据用户请求对商品表进行操作;步骤二:创建数据库和数据表,包括创建一个DRDS数据库并在DRDS数据库中创建与步骤一中的商品表相对应的数据表;步骤三:读取数据生成订单,包括用户秒杀操作成功后,DRDS数据库根据用户请求读取数据生成订单。本发明提出一种基于关系型分布式数据库的新型秒杀方法,以解决在秒杀支付过程中,出现数据库读写冲突,行锁集中竞争的问题。
Description
技术领域
本发明涉及计算机技术及软件领域,尤其涉及一种基于关系型分布式数据库的新型秒杀方法。
背景技术
秒杀是电商应用系统中需要实现的一种功能,在支付业务开发中,和钱相关的业务是非常重要的,不能出现任何差错,所以通常需要依赖关系型数据库的事务和锁的机制来保证数据的一致性。因此,对于秒杀支付的场景中,瞬时流量激增,读相同的数据,下载相同的数据,会造成数据库读写冲突,竞争锁严重等情况,形成瓶颈。
发明内容
本发明的目的在于针对背景技术中的缺陷,提出一种基于关系型分布式数据库的新型秒杀方法,以解决在秒杀支付过程中,出现数据库读写冲突,行锁集中竞争的问题。
为达此目的,本发明采用以下技术方案:
一种基于关系型分布式数据库的新型秒杀方法,秒杀方法的具体步骤如下:
步骤一:构建秒杀商品表,包括根据秒杀商品构建出商品表,并根据用户请求对商品表进行操作,在根据用户请求对商品表进行操作时,针对多个用户请求作用在商品表的同一条数据行上时,将该条数据行拆分成多条;
步骤二:创建数据库和数据表,包括创建一个DRDS数据库并在DRDS数据库中创建与步骤一中的商品表相对应的数据表,根据商品类型的数量将数据表中的数据分发到多个不同的节点,每个节点各自操作自己的数据分库;
步骤三:读取数据生成订单,包括用户秒杀操作成功后,DRDS数据库根据用户请求读取数据生成订单。
优选的,在所述步骤一中,构建秒杀商品表包括每个用户请求需要对商品表进行一次更新操作,多个用户请求同时对商品表进行多次更新操作时,多个用户请求作用在同一条数据行上,将该条数据行拆分成多条数据行,将多个用户请求分配至拆分好的多条数据行上。
优选的,在所述步骤二中,每一张数据表根据商品类型的数量将数据分发到多个不同节点中,每个节点各自操作自己的数据库包括在DRDS数据库中创建数据表,创建好的每一张数据表根据分库键的值将商品表的数据水平拆分到每一个数据分库中。
优选的,将多个用户请求分配至拆分好的多条数据行上包括采用取摸方式分配数据行,将用户划分至数据表上的不同区域。
优选的,在所述步骤三中,读取数据生成订单包括用户发起用户请求,DRDS数据库分析用户请求,按照分库键的值与执行策略将用户请求分配至数据表表的不同区域内进行执行,用户秒杀操作成功后,生成订单。
有益效果:
1、将数据行进行拆分,使不同用户请求作用在不同的数据行,解决行锁集中竞争问题,减少并发读写压力;
2、利用分库键的值将数据库水平拆分到每一个分库中,使得每一张数据表分发到多个不同的节点,分流应用的压力,减少数据库读写冲突。
附图说明
图1是本发明的流程图;
图2是本发明的秒杀商品表的数据未拆分之前的表图;
图3是本发明的秒杀商品表的数据拆分后的表图;
图4是本发明的分库键拆分的原理图;
图5是本发明的将图3中的休闲裤键拆之后的表图;
图6是本发明的将图3中的牛仔裤键拆之后的表图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本实施例的一种基于关系型分布式数据库的新型秒杀方法,如图1所述,秒杀方法的具体步骤如下:
步骤一:构建秒杀商品表,包括根据秒杀商品构建出商品表,并根据用户请求对商品表进行操作,在根据用户请求对商品表进行操作时,针对多个用户请求作用在商品表的同一条数据行上时,将该条数据行拆分成多条;
在所述步骤一中,构建秒杀商品表包括每个用户请求需要对商品表进行一次更新操作,多个用户请求同时对商品表进行多次更新操作时,多个用户请求作用在同一条数据行上,将该条数据行拆分成多条数据行,将多个用户请求分配至拆分好的多条数据行上。优选的,包括采用取摸方式分配数据行,将用户划分至数据表上的不同区域。
首先确定有哪些供用户进行秒杀的商品,构建一个商品表,如图2所示,在本实施例中,以休闲裤和牛仔裤作为秒杀商品进行构建,在高并发的下单扣减库存中,每个用户请求都需要对商品库存进行一个更新操作,此时会有大量用户请求作用在同一条数据行上,从而由于不同用户请求的线程对行锁的竞争,导致大部分用户请求线程的等待,出现了读写性能的瓶颈,因此将一条数据拆分成多条,如图3所示,图3为图2拆分后的图,采用取摸方式分配数据行,将用户划分到不同的区间,去竞争对应区域内的行锁,对于秒杀休闲裤的用户请求划分到休闲裤的区间,拆分后大大解决了行锁集中竞争的问题,减少并发读写的压力。
步骤二:创建数据库和数据表,包括创建一个DRDS数据库并在DRDS数据库中创建与步骤一中的商品表相对应的数据表,创建好的每一张数据表根据分库键的值将商品表的数据水平拆分到每一个数据分库中,根据商品类型的数量将数据表中的数据分发到多个不同的节点,每个节点各自操作自己的数据分库;
在本实施例中,确定好商品表后,创建一个DRDS数据库,并创建一个数据表,该数据表的数据对应商品表中的数据,如图4所示,然后根据分库键或者拆分键key1/key2的键值将数据水平拆分到每一个数据分库中,在图4中数据分库为物理库1和物理库2,键值相同的数据,会位于同一个数据分库中。
这样拆分的好处是,将一张大数据表分发到两个不同的几点,两个不同的节点各自操作自己的数据库,分流应用的压力,如图5所示,将图3中的休闲裤商品拆分到图5中的表中,将此表放到节点1,如图6所示,将图3中的牛仔裤商品拆分到图6中的表中,再将此表放到节点2.
步骤三:读取数据生成订单,包括用户秒杀操作成功后,DRDS数据库根据用户请求读取数据生成订单。
优选的,在所述步骤三中,读取数据生成订单包括用户发起用户请求,DRDS数据库分析用户请求,按照分库键的值与执行策略将用户请求分配至数据表表的不同区域内进行执行,用户秒杀操作成功后,生成订单。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (5)
1.一种基于关系型分布式数据库的新型秒杀方法,其特征在于:
秒杀方法的具体步骤如下:
步骤一:构建秒杀商品表,包括根据秒杀商品构建出商品表,并根据用户请求对商品表进行操作,在根据用户请求对商品表进行操作时,针对多个用户请求作用在商品表的同一条数据行上时,将该条数据行拆分成多条;
步骤二:创建数据库和数据表,包括创建一个DRDS数据库并在DRDS数据库中创建与步骤一中的商品表相对应的数据表,根据商品类型的数量将数据表中的数据分发到多个不同的节点,每个节点各自操作自己的数据分库;
步骤三:读取数据生成订单,包括用户秒杀操作成功后,DRDS数据库根据用户请求读取数据生成订单。
2.根据权利要求1所述一种基于关系型分布式数据库的新型秒杀方法,其特征在于:
在所述步骤一中,构建秒杀商品表包括每个用户请求需要对商品表进行一次更新操作,多个用户请求同时对商品表进行多次更新操作时,多个用户请求作用在同一条数据行上,将该条数据行拆分成多条数据行,将多个用户请求分配至拆分好的多条数据行上。
3.根据权利要求1所述一种基于关系型分布式数据库的新型秒杀方法,其特征在于:
在所述步骤二中,每一张数据表根据商品类型的数量将数据分发到多个不同节点中,每个节点各自操作自己的数据库包括在DRDS数据库中创建数据表,创建好的每一张数据表根据分库键的值将商品表的数据水平拆分到每一个数据分库中。
4.根据权利要求2所述一种基于关系型分布式数据库的新型秒杀方法,其特征在于:
将多个用户请求分配至拆分好的多条数据行上包括采用取摸方式分配数据行,将用户划分至数据表上的不同区域。
5.根据权利要求4所述一种基于关系型分布式数据库的新型秒杀方法,其特征在于:
在所述步骤三中,读取数据生成订单包括用户发起用户请求,DRDS数据库分析用户请求,按照分库键的值与执行策略将用户请求分配至数据表的不同区域内进行执行,用户秒杀操作成功后,生成订单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194559.7A CN109345353B (zh) | 2018-10-15 | 2018-10-15 | 一种基于关系型分布式数据库的新型秒杀方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194559.7A CN109345353B (zh) | 2018-10-15 | 2018-10-15 | 一种基于关系型分布式数据库的新型秒杀方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109345353A CN109345353A (zh) | 2019-02-15 |
CN109345353B true CN109345353B (zh) | 2022-04-22 |
Family
ID=65309972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811194559.7A Expired - Fee Related CN109345353B (zh) | 2018-10-15 | 2018-10-15 | 一种基于关系型分布式数据库的新型秒杀方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109345353B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091405B (zh) * | 2019-09-12 | 2023-08-08 | 达疆网络科技(上海)有限公司 | 一种解决秒杀促销高并发的实现方案 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682043A (zh) * | 2011-04-14 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种分布式数据库连接方法 |
CN103268321A (zh) * | 2013-04-19 | 2013-08-28 | 中国建设银行股份有限公司 | 高并发交易数据处理方法和装置 |
CN103559633A (zh) * | 2013-11-09 | 2014-02-05 | 宁夏天纵泓光余热发电技术有限公司 | 信息发布系统和方法 |
CN103825835A (zh) * | 2013-11-29 | 2014-05-28 | 中邮科通信技术股份有限公司 | 一种互联网高并发秒杀系统 |
CN105069109A (zh) * | 2015-08-07 | 2015-11-18 | 北京思特奇信息技术股份有限公司 | 一种分布式数据库扩容的方法和系统 |
CN108205780A (zh) * | 2018-01-02 | 2018-06-26 | 掌合天下(北京)信息技术有限公司 | 订单处理系统及订单划分方法 |
-
2018
- 2018-10-15 CN CN201811194559.7A patent/CN109345353B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682043A (zh) * | 2011-04-14 | 2012-09-19 | 天脉聚源(北京)传媒科技有限公司 | 一种分布式数据库连接方法 |
CN103268321A (zh) * | 2013-04-19 | 2013-08-28 | 中国建设银行股份有限公司 | 高并发交易数据处理方法和装置 |
CN103559633A (zh) * | 2013-11-09 | 2014-02-05 | 宁夏天纵泓光余热发电技术有限公司 | 信息发布系统和方法 |
CN103825835A (zh) * | 2013-11-29 | 2014-05-28 | 中邮科通信技术股份有限公司 | 一种互联网高并发秒杀系统 |
CN105069109A (zh) * | 2015-08-07 | 2015-11-18 | 北京思特奇信息技术股份有限公司 | 一种分布式数据库扩容的方法和系统 |
CN108205780A (zh) * | 2018-01-02 | 2018-06-26 | 掌合天下(北京)信息技术有限公司 | 订单处理系统及订单划分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109345353A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7546832B2 (ja) | トランザクション処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
WO2020192063A1 (zh) | 一种基于缓存化的销售锁定方法及系统 | |
CN100555288C (zh) | 一种访问不同类型数据库的方法和系统 | |
US7181460B2 (en) | User-defined aggregate functions in database systems without native support | |
US10740333B1 (en) | Apparatus and method for accelerated query processing using eager aggregation and analytical view matching | |
US8874602B2 (en) | Random number generator in a MPP database | |
JP2017059246A (ja) | 高可用性データを提供するためのシステム及び方法 | |
US20090037489A1 (en) | Method And System For Response Time Optimization | |
TWI730690B (zh) | 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 | |
JP2017507378A (ja) | オンライン・シェアード・ナッシング・データベースを拡張するためのインクリメンタルで、かつ、連結された再分散 | |
CN103761140B (zh) | 一种在异构关系型数据库中实现事务处理的方法 | |
US20210256063A1 (en) | Ad-hoc graph definition | |
WO2019047516A1 (zh) | 信息输出方法和装置 | |
US11775509B1 (en) | Systems and methods to fully process an initially incomplete replicated and committed transaction for a non-static application by using a plurality of transaction pattern tables | |
US20160239523A1 (en) | Simultaneous Operation Of Multiple Versions Of An Application Using Bidirectional Synchronization And Separated Read Write Channels | |
CN107016016A (zh) | 一种数据处理的方法及装置 | |
CN103902548B (zh) | 一种访问数据库的系统和方法及注册、订票、网购系统 | |
JP5352421B2 (ja) | データアクセス装置、データアクセス方法およびデータアクセスプログラム | |
US20050080690A1 (en) | Methods and computer systems for reducing runtimes in material requirements planning | |
CN109345353B (zh) | 一种基于关系型分布式数据库的新型秒杀方法 | |
US8935294B2 (en) | Minimizing computer resource usage when converting data types of a table column | |
CN109165263A (zh) | 数据库的日志分析处理方法及装置、ddl同步方法及装置 | |
WO2020201830A1 (en) | Systems and methods for generating, monitoring, and analyzing event networks from event data | |
CN102193986B (zh) | 图形数据库中联机事务的实现方法 | |
Kamal et al. | Distributed database management systems: architectural design choices for the cloud |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220422 |