CN107016041B - 一种控制单条数据出库的方法及装置 - Google Patents

一种控制单条数据出库的方法及装置 Download PDF

Info

Publication number
CN107016041B
CN107016041B CN201710039750.3A CN201710039750A CN107016041B CN 107016041 B CN107016041 B CN 107016041B CN 201710039750 A CN201710039750 A CN 201710039750A CN 107016041 B CN107016041 B CN 107016041B
Authority
CN
China
Prior art keywords
natural number
generated
database
data
smaller
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
CN201710039750.3A
Other languages
English (en)
Other versions
CN107016041A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710039750.3A priority Critical patent/CN107016041B/zh
Publication of CN107016041A publication Critical patent/CN107016041A/zh
Application granted granted Critical
Publication of CN107016041B publication Critical patent/CN107016041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种控制单条数据出库的方法及装置,所述方法包括:获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量;根据所述游标参数M,生成一个小于M的自然数N;向所述数据库发送锁定第N条数据的请求;接收所述数据库返回的第N条数据的锁定结果信息;在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。应用本申请实施例,可以实现提高单条数据出库的效率,并且可以降低针对同一数据并发出库操作的情况。

Description

一种控制单条数据出库的方法及装置
技术领域
本申请涉及数据库技术领域,尤其涉及一种控制单条数据出库的方法及装置。
背景技术
一般的,数据请求方想要操作数据库中的数据时,需要向数据库发送操作请求,例如某一请求方想要获取一个数据,需要向数据库发送针对这个数据的操作请求,而数据库接收到操作请求后,在查找到这个数据,会完成这个数据的出库操作。
在一些单条数据出库,即每个请求方只能出库一条数据的场景中,容易发生并发出库的情况。例如,同时有100个请求方取100条数据,每个请求方只能获取1条数据,就很容易发生并发出库的情况,即多个请求方同时发起针对同一个数据的出库操作,由于数据库只会完成最先到达的请求方发起的出库操作,因此其它请求方的出库操作都是失败的。这样其它请求方在发现出库操作失败后,还需重新发起针对剩余数据的出库请求。如此,由于容易发生并发出库的情况,所以现有单条数据出库的效率就较低。
发明内容
本申请提供的一种控制单条数据出库的方法及装置,以解决现有技术中存在的单条数据出库的效率较低的问题。
根据本申请实施例提供的一种控制单条数据出库的方法,所述方法包括:
获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量;
根据所述游标参数M,生成一个小于M的自然数N;
向所述数据库发送锁定第N条数据的请求;
接收所述数据库返回的第N条数据的锁定结果信息;
在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
可选的,所述游标参数M根据所述数据库的检索性能确定;
和/或,
根据所述数据库中所有数据的数量确定。
可选的,所述自然数N由如下方式生成:
根据随机算法,随机生成一个小于M的自然数N。
可选的,所述自然数N由如下方式生成:
根据递减算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递减1后生成一个小于M的自然数N。
可选的,在上一次生成的自然数为0的情况下,将M-1确定为生成的一个小于M的自然数N。
可选的,所述自然数N由如下方式生成:
根据递增算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递增1后生成一个小于M的自然数N。
可选的,在上一次生成的自然数为M-1的情况下,将0确定为生成的一个小于M的自然数N。
可选的,所述方法还包括:
在所述锁定结果信息表示不成功的情况下,减小所述自然数N的数值,重新执行所述向所述数据库发送锁定第N条数据的命令的步骤。
可选的,所述减小所述自然数的数值,具体包括:
将所述自然数N的数值修改为0。
根据本申请实施例提供的一种控制单条数据出库的装置,所述装置包括:
获取单元,获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量;
生成单元,根据所述游标参数M,生成一个小于M的自然数N;
发送单元,向所述数据库发送锁定第N条数据的请求;
接收单元,接收所述数据库返回的第N条数据的锁定结果信息;
出库单元,在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
可选的,所述游标参数M根据所述数据库的检索性能确定;
和/或,
根据所述数据库中所有数据的数量确定。
可选的,所述自然数N由如下子单元生成:
随着生成子单元,根据随机算法,随机生成一个小于M的自然数N。
可选的,所述自然数N由如下子单元生成:
根据递减算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递减1后生成一个小于M的自然数N。
可选的,在上一次生成的自然数为0的情况下,将M-1确定为生成的一个小于M的自然数N。
可选的,所述自然数N由如下子单元生成:
根据递增算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递增1后生成一个小于M的自然数N。
可选的,在上一次生成的自然数为M-1的情况下,将0确定为生成的一个小于M的自然数N。
可选的,所述装置还包括:
循环控制单元,在所述锁定结果信息表示不成功的情况下,减小所述自然数N的数值,并将所述缩小后的自然数N输入到所述发送单元。
可选的,所述减小所述自然数的数值,具体包括:
将所述自然数N的数值修改为0。
本申请实施例中,通过配置所述游标参数M,限制并发访问数据库的数量,并且再通过生成的自然数N,离散了并发访问数据库的请求方同时访问一条数据的情况,使得每一条数据被访问的概率可以是相同或相近的。由于每一条数据被访问的概率可以相同或相近,大大降低了同一条数据发生并发出库操作的情况,从而提高了整体的单条数据出库的效率。
附图说明
图1是本申请一实施例提供的控制单条数据出库的方法的流程图;
图2是本申请提供的控制单条数据出库的装置所在设备的一种硬件结构图;
图3是本申请一实施例提供的控制单条数据出库的装置的模块示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决上述问题,请参见图1,为本申请一实施例提供的控制单条数据出库的方法的流程图,所述方法可以应用于客户端,所述方法包括以下步骤:
步骤110:获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量。
本实施例中,所述客户端还可以是指软件上的应用客户端,可以与数据库进行交互,用于控制数据库单条数据出库。
所述游标参数M可以是人为预先设置的,表示数据库允许同时出库的数据的数量。例如,M=100,则表示数据库可以同时出库100条不同的数据。
一般的,所述游标参数M根据所述数据库的检索性能确定;
和/或,
根据所述数据库中所有数据的数量确定。
本实施例中,配置游标参数M越大,数据库检索压力越多,检索需要的时间相对较长。因此,如果数据库检索性能较强,可以将游标参数M配置的大一些;如果数据库检索性能较弱,可以将游标参数M配置的小一些。
本实施例中,配置的游标参数M通常可以小于需要出库的数据库中所有数据的数量。而且,所述M甚至可以是大大小于所有数据的数量。例如,数据库中所有数据的数量为100个,配置M的数值可以是10。
一般的,游标参数M的数值不超过20。
步骤120:根据所述游标参数M,生成一个小于M的自然数N。
本实施例中,所述自然数N主要用于离散访问数据库的请求方同时访问一条数据的情况,即减小并发出库的情况,使得每一条数据被访问的概率可以是相同或相近的。
值得一提的是,本实施例中所述的自然数包括0。
本实施例中,所述自然数N的可以由多种方式生成。
例如,所述自然数N由如下方式生成:
根据随机算法,随机生成一个小于M的自然数N。
再例如,所述自然数N由如下方式生成:
根据递减算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递减1后生成一个小于M的自然数N。
举例说明,客户端对每一个请求方的出库操作请求,都会生成一个小于M的自然数N。假设M=10,上一个请求方对应生成的N为8,则下一个请求方对应生成的N为7,再下一个请求方生成的N为6,以此类推。
值得一提的是,在上一次生成的自然数为0的情况下,可以将M-1确定为生成的一个小于M的自然数N。即如果上一次生成的N=0,如果再减1,就不是自然数了也不属于集合{0,M-1}了,需要重新从M-1开始递减,所以可以将M-1确定为生成的一个小于M的自然数N。
又例如,所述自然数N由如下方式生成:
根据递增算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递增1后生成一个小于M的自然数N。
举例说明,客户端对每一个请求方的出库操作请求,都会生成一个小于M的自然数N。假设M=10,上一个请求方对应生成的N为1,则下一个请求方对应生成的N为2,再下一个请求方生成的N为3,以此类推。
值得一提的是,在上一次生成的自然数为M-1的情况下,将0确定为生成的一个小于M的自然数N。即如果上一次生成的N=M-1,如果再增1,就不属于集合{0,M-1}了,需要重新从0开始递增,所以可以将0确定为生成的一个小于M的自然数N。
步骤130:向所述数据库发送锁定第N条数据的请求。
本实施例中,所述生成的自然数N,主要用于给每个请求方分配一个出库位,所述出库位可以表示出库数据的位置。
所述锁定的请求一般可以是SQL(Structured Query Language,结构化查询语言)。
具体SQL为:
select*from storage where status=‘enabled’limit N,1for update;
该SQL命令表示将第N条的数据锁定。
步骤140:接收所述数据库返回的第N条数据的锁定结果信息。
本实施例中,数据库在接收到上述锁定的请求后,可以执行锁定第N条数据的操作,并且可以将锁定结果信息返回给所述客户端。
所述客户端可以接收所述数据库返回的第N条数据的锁定结果信息。
一般的,如果存在第N条数据,则数据库返回的锁定结果信息可以表示成功;如果不存在第N条数据,则数据库返回的锁定结果信息为NULL,表示不成功。
步骤150:在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
本实施例中,在所述锁定结果信息表示成功的情况下,客户端就可以向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
所述修改的请求一般也可以是SQL(Structured Query Language,结构化查询语言)。
具体SQL为:
update storage set status=‘used’where id=${storage_info}.id;
一般的,检索得到的第N位数据后可以记录去id,因此所述id可以为所述N。该SQL命令表示将第N条的数据的状态修改为已使用,并将第N条的数据进行出库。
通过将出库的数据的状态修改为已使用,别的请求方就无法再次出库这个数据了。
步骤160:在所述锁定结果信息表示不成功的情况下,减小所述自然数N的数值,重复步骤130即执行所述向所述数据库发送锁定第N条数据的命令的步骤。
本实施例中,如果数据库返回的锁定结果信息表示不成功,说明数据库中不存在第N条的数据,数据量不足,本次出库操作失败。此时,客户端需要重新针对其它的数据进行出库操作。由于数据量不足,所以需要找在第N位前的数据,也就是需要减小所述自然数N的数值,重复步骤130。通过步骤160,实现提高了数据出库的成功率。
在实际应用中,所述减小所述自然数的数值,具体可以包括:
将所述自然数N的数值修改为0。通过将N修改为0,即是针对最前面的数据进行出库,最大可能的提高数据出库的成功率。
值得一提的是,所述第N条数据一般可以是排除了已经出库的数据后的第N条数据。因此,数据库在锁定第N条数据之前,还需要进行检索,所述检索的SQL:
select*from xxx where status='unused'limit N,1;
该SQL表示,从数据库的表单“xxx”中检索状态为“unused”(未使用)的数据,取第N条数据返回。
举例说明,数据库的表单“xxx”中存在如下5条数据:
第1条:100,状态:unused;
第2条:80,状态:used;
第3条:90,状态:used;
第4条:100,状态:unusd;
第5条:100,状态:unused。
假设,N为3,即需要将第3条数据出库;
则首先检索排除了出库数据后的第3条数据:
select*from xxx where status='unused'limit 3,1;
可以得到原来第5条的数据,100。这样,其实最终锁定的数据以及出库的数据其实并不是真正的第3条数据,而是第5条数据。但是在排除了已使用的数据后,的确是第3条数据。
通过本申请实施例中,配置所述游标参数M,限制并发访问数据库的数量,并且再通过生成的自然数N,离散了并发访问数据库的请求方同时访问一条数据的情况,使得每一条数据被访问的概率可以是相同或相近的。由于每一条数据被访问的概率可以相同或相近,大大降低了同一条数据发生并发出库操作的情况,从而提高了整体的单条数据出库的效率。
在本申请的一个实施例中,所述方法可以应用于网络红包场景,所述数据可以是网络红包,因此上述方法可以包括如下步骤:
获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的网络红包的数量;
根据所述游标参数M,生成一个小于M的自然数N;
向所述数据库发送锁定第N条网络红包的请求;
接收所述数据库返回的第N条网络红包的锁定结果信息;
在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条网络红包的状态修改为已使用的请求,从而完成所述第N条网络红包的出库操作。
举例说明,用户A在好友群内发了100个网络红包,此时,数据库中相应会存储有100条关于用户A发的100个网络红包的数据,每一条数据都对应一个网络红包;所述网络红包只能领取1次,即1个网络红包只能被1个人领取;同时该好友群内还有用户A的100个好友,如此就会出现100个好友领取100个网络红包的场景。在最理想的情况下,每一个好友都可以仅点击1次,就都领取了网络红包。但是,好友抢哪个红包是无法预测和控制的,往往会出现多个好友同时抢1个网络红包的情况下(例如都抢最开始发出的网络红包),即发生并发出库的情况。
假设配置的游标参数M为10,因此数据库可以同时允许10个好友领取网络红包;假设生成的N为5,则可以向所述数据库发送锁定第5条网络红包的命令,例如select*fromstorage where status=‘enabled’limit 5,1for update;
如果网络红包充足,那么第5个网络红包存在的话,在数据库返回的锁定结果信息表示锁定成功时,客户端所以可以将第5条网络红包的状态修改为已使用,从而完成所述第5个网络红包的出库操作,好友也就成功抢到该第5位网络红包。
如果网络红包不充足,例如96个都被领完了,那么数据库中仅剩4条网络红包,因此返回的锁定第5条网络红包的锁定结果信息表示失败(NULL),说明没有第5个红包,则可以将N修改为0,重新执行锁定第0条数据的命令,由于第0条网络红包存在,就可以修改第0条网络红包的状态为已使用,从而完成第0条网络红包的出库操作,数据库中还剩3条网络红包。
与前述控制单条数据出库的方法实施例相对应,本申请还提供了一种控制单条数据出库的装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请控制单条数据出库的装置所在设备的一种硬件结构图,除了图2所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该控制单条数据出库的实际功能,还可以包括其他硬件,对此不再赘述。
参见图3,为本申请一实施例提供的控制单条数据出库的装置的模块图,所述装置包括:获取单元210、生成单元220、发送单元、接收单元和出库单元230。
其中,获取单元210,获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量;
生成单元220,根据所述游标参数M,生成一个小于M的自然数N;
发送单元230,向所述数据库发送锁定第N条数据的请求;
接收单元240,接收所述数据库返回的第N条数据的锁定结果信息;
出库单元250,在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
在一个可选的实现方式中:
所述游标参数M根据所述数据库的检索性能确定;
和/或,
根据所述数据库中所有数据的数量确定。
在一个可选的实现方式中:
所述自然数N由如下子单元生成:
随着生成子单元,根据随机算法,随机生成一个小于M的自然数N。
在一个可选的实现方式中:
所述自然数N由如下子单元生成:
根据递减算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递减1后生成一个小于M的自然数N。
在一个可选的实现方式中:
在上一次生成的自然数为0的情况下,将M-1确定为生成的一个小于M的自然数N。
在一个可选的实现方式中:
所述自然数N由如下子单元生成:
根据递增算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递增1后生成一个小于M的自然数N。
在一个可选的实现方式中:
在上一次生成的自然数为M-1的情况下,将0确定为生成的一个小于M的自然数N。
在一个可选的实现方式中:
所述装置还包括:
循环控制单元,在所述锁定结果信息表示不成功的情况下,减小所述自然数N的数值,并将所述缩小后的自然数N输入到所述发送单元。
在一个可选的实现方式中:
所述减小所述自然数的数值,具体包括:
将所述自然数N的数值修改为0。
在一个可选的实现方式中:
所述数据包括网络红包。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (18)

1.一种控制单条数据出库的方法,其特征在于,所述方法包括:
获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量;
根据所述游标参数M,生成一个小于M的自然数N;
向所述数据库发送锁定第N条数据的请求;
接收所述数据库返回的第N条数据的锁定结果信息;
在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
2.根据权利要求1所述的方法,其特征在于,所述游标参数M根据所述数据库的检索性能确定;
和/或,
根据所述数据库中所有数据的数量确定。
3.根据权利要求1所述的方法,其特征在于,所述自然数N由如下方式生成:
根据随机算法,随机生成一个小于M的自然数N。
4.根据权利要求1所述的方法,其特征在于,所述自然数N由如下方式生成:
根据递减算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递减1后生成一个小于M的自然数N。
5.根据权利要求4所述的方法,其特征在于:
在上一次生成的自然数为0的情况下,将M-1确定为生成的一个小于M的自然数N。
6.根据权利要求1所述的方法,其特征在于,所述自然数N由如下方式生成:
根据递增算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递增1后生成一个小于M的自然数N。
7.根据权利要求6所述的方法,其特征在于:
在上一次生成的自然数为M-1的情况下,将0确定为生成的一个小于M的自然数N。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述锁定结果信息表示不成功的情况下,减小所述自然数N的数值,重新执行所述向所述数据库发送锁定第N条数据的命令的步骤。
9.根据权利要求8所述的方法,其特征在于,所述减小所述自然数的数值,具体包括:
将所述自然数N的数值修改为0。
10.一种控制单条数据出库的装置,其特征在于,所述装置包括:
获取单元,获取数据库配置的游标参数M;其中,所述游标参数M表示所述数据库允许同时出库的数据的数量;
生成单元,根据所述游标参数M,生成一个小于M的自然数N;
发送单元,向所述数据库发送锁定第N条数据的请求;
接收单元,接收所述数据库返回的第N条数据的锁定结果信息;
出库单元,在所述锁定结果信息表示成功的情况下,向所述数据库发送将所述第N条数据的状态修改为已使用的请求,从而完成所述第N条数据的出库操作。
11.根据权利要求10所述的装置,其特征在于,所述游标参数M根据所述数据库的检索性能确定;
和/或,
根据所述数据库中所有数据的数量确定。
12.根据权利要求10所述的装置,其特征在于,所述自然数N由如下子单元生成:
随着生成子单元,根据随机算法,随机生成一个小于M的自然数N。
13.根据权利要求10所述的装置,其特征在于,所述自然数N由如下子单元生成:
根据递减算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递减1后生成一个小于M的自然数N。
14.根据权利要求13所述的装置,其特征在于:
在上一次生成的自然数为0的情况下,将M-1确定为生成的一个小于M的自然数N。
15.根据权利要求10所述的装置,其特征在于,所述自然数N由如下子单元生成:
根据递增算法,在集合{0,M-1}中,从上一次生成的自然数的基础上递增1后生成一个小于M的自然数N。
16.根据权利要求15所述的装置,其特征在于:
在上一次生成的自然数为M-1的情况下,将0确定为生成的一个小于M的自然数N。
17.根据权利要求10所述的装置,其特征在于,所述装置还包括:
循环控制单元,在所述锁定结果信息表示不成功的情况下,减小所述自然数N的数值,并将减小后的自然数N输入到所述发送单元。
18.根据权利要求17所述的装置,其特征在于,所述减小所述自然数的数值,具体包括:
将所述自然数N的数值修改为0。
CN201710039750.3A 2017-01-19 2017-01-19 一种控制单条数据出库的方法及装置 Active CN107016041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710039750.3A CN107016041B (zh) 2017-01-19 2017-01-19 一种控制单条数据出库的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710039750.3A CN107016041B (zh) 2017-01-19 2017-01-19 一种控制单条数据出库的方法及装置

Publications (2)

Publication Number Publication Date
CN107016041A CN107016041A (zh) 2017-08-04
CN107016041B true CN107016041B (zh) 2020-05-05

Family

ID=59439687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710039750.3A Active CN107016041B (zh) 2017-01-19 2017-01-19 一种控制单条数据出库的方法及装置

Country Status (1)

Country Link
CN (1) CN107016041B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615203B (zh) * 2009-07-23 2012-04-04 中兴通讯股份有限公司 并发控制方法及装置
US20120278366A1 (en) * 2011-04-29 2012-11-01 Siemens Product Lifecycle Management Software Inc. Creation and use of orphan objects
US8805793B2 (en) * 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation

Also Published As

Publication number Publication date
CN107016041A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
TWI737977B (zh) 基於區塊鏈的交易處理方法及裝置、電子設備
TWI706278B (zh) 基於區塊鏈的交易處理方法及裝置、電子設備
US10554388B2 (en) Service execution method and device
CN109492019B (zh) 业务请求响应方法、装置、计算机设备和存储介质
CN111971931B (zh) 在区块链网络中验证交易的方法以及构成该网络的节点
US20210337012A1 (en) File download manager
US20150058308A1 (en) Generating cache query requests
CN110909025A (zh) 数据库的查询方法、查询装置及终端
CN110188110B (zh) 一种构建分布式锁的方法及装置
CN110795171B (zh) 业务数据处理方法、装置、计算机设备及存储介质
US20130173509A1 (en) Method and arrangement for processing data
CN110737681B (zh) 处理请求的加锁处理方法、装置、计算机设备及存储介质
KR20110059532A (ko) 공유 디스크 데이터베이스 시스템에서 락 통신들을 감소시키기 위한 접근 방법들
CN109842621A (zh) 一种减少token存储数量的方法及终端
CN113220717A (zh) 基于区块链的数据核验方法及装置、电子设备
CN111385294A (zh) 数据处理方法、系统、计算机设备和存储介质
CN107016041B (zh) 一种控制单条数据出库的方法及装置
CN112328325A (zh) 模型文件的执行方法、装置、终端设备及存储介质
CN109660587B (zh) 基于随机数的数据推送方法、装置、存储介质及服务器
CN107016296B (zh) 一种数据索引构建、数据读取的方法、装置及电子设备
US11580128B2 (en) Preventing DBMS deadlock by eliminating shared locking
CN111143351B (zh) Imsi数据管理方法及设备
KR101674294B1 (ko) 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법
CN109214884B (zh) 需求撮合方法及装置、电子设备
CN113656508A (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
TR01 Transfer of patent right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right