一种并发数据请求处理方法及装置的制造方法

文档序号:9887795阅读:202来源:国知局
一种并发数据请求处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据库领域,特别是涉及一种并发数据请求处理方法及装置。
【背景技术】
[0002]数据库的事务(Transact1n)是并发控制的单位,是用户定义的一个操作序列。这些操作如果执行就都执行,如果不执行就都不执行是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务通常是以BEGIN TRANSACT1N开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
[0003]在数据库的使用中,用户可以使用手机号、邮箱以及自定义的用户名来注册用户,每个用户可以有两种用户类型,分别为云平台用户和官网用户。云平台的用户只能通过注册使用云平台数据库,而官网用户既可以通过注册也可以通过登录实现入云平台数据库。因而数据入库之前先从用户表中查询是否已经有注册数据,有则返回提示,没有则数据入库,然而,在数据请求高并发的情况下,由于数据库读和写的时间差,会造成数据重复入库。

【发明内容】

[0004]本发明提供一种并发数据请求处理方法及装置,用以解决现有技术中由于数据库读和写的时间差造成数据重复入库的问题。
[0005]根据本发明的第二个方面,提供了一种并发数据请求的处理方法,包括:记录接收到的注册请求的唯一标识信息;在接收到并发的数据请求时,根据唯一标识信息判断并发的数据请求是否为相同的数据请求;在确定并发的数据请求是相同的数据请求的情况下,仅处理并发的数据请求中的一个。
[0006]其中,上述唯一标识信息包括:注册身份标识ID以及用户类型。
[0007]其中,记录接收到的注册请求的唯一标识信息,包括:将接收到的数据库注册请求的注册ID以及用户类型数据插入到预先设置的数据库表中。
[0008]其中,数据库表为仅包含一列的存储引擎为InnoDB的InnoDB表中,且该列为InnoDB表的主键。
[0009]其中,记录接收到的注册请求的唯一标识信息,包括:在接收到登陆请求时,在登陆验证通过后,判断该登陆请求是否是已经沉淀过的数据;如果是,则根据已经沉淀过的数据返回登陆结果,如果否,则记录登陆请求的唯一标识信息。
[0010]根据本发明的第二个方面,提供了一种并发数据请求的处理装置,包括:记录模块,用于记录接收到的注册请求的唯一标识信息;判断模块,用于在接收到并发的数据请求时,根据唯一标识信息判断并发的数据请求是否为相同的数据请求;处理模块,用于在确定并发的数据请求是相同的数据请求的情况下,仅处理并发的数据请求中的一个。
[0011]其中,上述唯一标识信息包括:注册身份标识ID以及用户类型。
[0012]其中,上述记录模块具体用于:将接收到的数据库注册请求的注册ID以及用户类型数据插入到预先设置的数据库表中。
[0013]其中,上述数据库表为仅包含一列的存储引擎为InnoDB的InnoDB表中,且该列为InnoDB表的主键。
[0014]其中,上述记录模块,包括:判断模块,用于在接收到登陆请求时,在登陆验证通过后,判断该登陆请求是否是已经沉淀过的数据;记录模块,用于在判断模块的判断结果为是时,根据已经沉淀过的数据返回登陆结果,在判断模块的判断结果为否时,记录登陆请求的唯一标识信息。
[0015]本发明有益效果如下:
[0016]本发明实施例提供的方案根据数据请求的唯一标识来确定接收到的并发请求是否属于相同的请求,从而实现在并发请求存在相同请求的情况下仅处理并发请求中的一个,从而避免了高并发请情况下冗余数据的产生,保证了数据的准确性。
【附图说明】
[0017]图1是本发明实施例1中提供的并发数据请求处理方法的流程图;
[0018]图2是本发明实施例2中提供的第一种并发数据请求处理方法的流程图;
[0019]图3是本发明实施例2中提供的第二种并发数据请求处理方法的流程图;
[0020]图4是本发明实施例3中提供的并发数据起球处理装置的结构框图。
【具体实施方式】
[0021]为了解决现有技术中由于数据库读和写的时间差造成数据重复入库的问题,本发明提供了一种并发数据请求处理方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0022]实施例1
[0023]本实施例提供了一种并发数据请求的处理方法,图1是该方法的流程图,如图1所示,该方法包括如下步骤:
[0024]步骤101:记录接收到的注册请求的唯一标识信息,优选的,该唯一标识信息具体可以包括:注册ID以及用户类型,其中,用户类型具体可以包括官方网站用户、平台用户以及第三方用户。
[0025]记录接收到的数据库注册请求的唯一标识信息具体可以包括:在接收到登陆请求时,在登陆验证通过后,判断该登陆请求是否是已经沉淀过的数据(在进行判断之前,系统并不知晓该请求是登陆请求或注册请求,如果该请求的数据在之前未沉淀过,则可以认为该请求是注册请求,如果该请求的数据之前沉淀过,则认为该请求是登陆请求);如果是,则根据已经沉淀过的数据返回登陆结果,如果否,则记录请求的唯一标识信息。
[0026]具体地,记录接收到的数据库注册请求的唯一标识信息,包括:将接收到的数据库注册请求的注册ID以及用户类型数据插入到预先设置的数据库表,在本实施例中,优选的,数据库表为仅包含一列的存储引擎为InnoDB的InnoDB表中,InnoDB,是一种事务型数据库的引擎,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一,且该列为InnoDB的主键,主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义PRIMARY KEY约束来创建主键。一个表只能有一个PR頂ARY KEY约束,而且PRIMARY KEY约束中的列不能接受空值。由于PRIMARY KEY约束确保唯一数据,所以经常用来定义标识列。
[0027]步骤102:在接收到并发的数据请求时,根据唯一标识信息判断并发的数据请求是否为相同的数据请求;
[0028]在用户进行登录请求时,由于
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1