[发明专利]一种基于关系型分布式数据库的新型秒杀方法有效
申请号: | 201811194559.7 | 申请日: | 2018-10-15 |
公开(公告)号: | CN109345353B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 黄伟基;吴金军;王长江;曹景成 | 申请(专利权)人: | 广东鸭梨云信息科技有限公司 |
主分类号: | G06Q30/06 | 分类号: | G06Q30/06;G06Q30/02;G06F16/22;G06F16/27;G06F16/28 |
代理公司: | 佛山市禾才知识产权代理有限公司 44379 | 代理人: | 刘羽波;资凯亮 |
地址: | 528000 广东省佛山市禅城*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 关系 分布式 数据库 新型 方法 | ||
一种基于关系型分布式数据库的新型秒杀方法,步骤如下:步骤一:构建秒杀商品表,包括根据秒杀商品构建出商品表,并根据用户请求对商品表进行操作;步骤二:创建数据库和数据表,包括创建一个DRDS数据库并在DRDS数据库中创建与步骤一中的商品表相对应的数据表;步骤三:读取数据生成订单,包括用户秒杀操作成功后,DRDS数据库根据用户请求读取数据生成订单。本发明提出一种基于关系型分布式数据库的新型秒杀方法,以解决在秒杀支付过程中,出现数据库读写冲突,行锁集中竞争的问题。
技术领域
本发明涉及计算机技术及软件领域,尤其涉及一种基于关系型分布式数据库的新型秒杀方法。
背景技术
秒杀是电商应用系统中需要实现的一种功能,在支付业务开发中,和钱相关的业务是非常重要的,不能出现任何差错,所以通常需要依赖关系型数据库的事务和锁的机制来保证数据的一致性。因此,对于秒杀支付的场景中,瞬时流量激增,读相同的数据,下载相同的数据,会造成数据库读写冲突,竞争锁严重等情况,形成瓶颈。
发明内容
本发明的目的在于针对背景技术中的缺陷,提出一种基于关系型分布式数据库的新型秒杀方法,以解决在秒杀支付过程中,出现数据库读写冲突,行锁集中竞争的问题。
为达此目的,本发明采用以下技术方案:
一种基于关系型分布式数据库的新型秒杀方法,秒杀方法的具体步骤如下:
步骤一:构建秒杀商品表,包括根据秒杀商品构建出商品表,并根据用户请求对商品表进行操作,在根据用户请求对商品表进行操作时,针对多个用户请求作用在商品表的同一条数据行上时,将该条数据行拆分成多条;
步骤二:创建数据库和数据表,包括创建一个DRDS数据库并在DRDS数据库中创建与步骤一中的商品表相对应的数据表,根据商品类型的数量将数据表中的数据分发到多个不同的节点,每个节点各自操作自己的数据分库;
步骤三:读取数据生成订单,包括用户秒杀操作成功后,DRDS数据库根据用户请求读取数据生成订单。
优选的,在所述步骤一中,构建秒杀商品表包括每个用户请求需要对商品表进行一次更新操作,多个用户请求同时对商品表进行多次更新操作时,多个用户请求作用在同一条数据行上,将该条数据行拆分成多条数据行,将多个用户请求分配至拆分好的多条数据行上。
优选的,在所述步骤二中,每一张数据表根据商品类型的数量将数据分发到多个不同节点中,每个节点各自操作自己的数据库包括在DRDS数据库中创建数据表,创建好的每一张数据表根据分库键的值将商品表的数据水平拆分到每一个数据分库中。
优选的,将多个用户请求分配至拆分好的多条数据行上包括采用取摸方式分配数据行,将用户划分至数据表上的不同区域。
优选的,在所述步骤三中,读取数据生成订单包括用户发起用户请求,DRDS数据库分析用户请求,按照分库键的值与执行策略将用户请求分配至数据表表的不同区域内进行执行,用户秒杀操作成功后,生成订单。
有益效果:
1、将数据行进行拆分,使不同用户请求作用在不同的数据行,解决行锁集中竞争问题,减少并发读写压力;
2、利用分库键的值将数据库水平拆分到每一个分库中,使得每一张数据表分发到多个不同的节点,分流应用的压力,减少数据库读写冲突。
附图说明
图1是本发明的流程图;
图2是本发明的秒杀商品表的数据未拆分之前的表图;
图3是本发明的秒杀商品表的数据拆分后的表图;
图4是本发明的分库键拆分的原理图;
图5是本发明的将图3中的休闲裤键拆之后的表图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东鸭梨云信息科技有限公司,未经广东鸭梨云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811194559.7/2.html,转载请声明来源钻瓜专利网。