CN104317749B - 信息写入方法和装置 - Google Patents
信息写入方法和装置 Download PDFInfo
- Publication number
- CN104317749B CN104317749B CN201410602328.0A CN201410602328A CN104317749B CN 104317749 B CN104317749 B CN 104317749B CN 201410602328 A CN201410602328 A CN 201410602328A CN 104317749 B CN104317749 B CN 104317749B
- Authority
- CN
- China
- Prior art keywords
- queues
- information
- write
- described information
- less
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开是关于一种信息写入方法和装置。所述方法包括:生成N个不重复的ID号,N为大于1的自然数;将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;根据获取的所述ID号进行所述信息的写入。通过本公开的技术方案,实现了在数据库分库分表时ID号的获取。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种信息写入方法和装置。
背景技术
在互联网应用中,通常会将相关信息存储在服务器的数据库中。随着互联网应用的发展,需要存储的信息越来越多,为了提高应用的性能,需要对数据库进行分库分表操作。在对数据库进行分库分表后,如果仍然使用每张表的自增ID号来标识相关信息,那么就会出现重复的ID号。
相关技术中,可以新建一个表专门用来生成ID号,在将信息写入数据库前,先从这张表中获取一个ID号以避免重复。然而,当遇到有大量信息需要写入时,获取ID号过程中频繁的锁表会到导致整个数据库变慢。
此外,还可以采取在ID号中增加人为约定的办法以避免重复。对于每个表而言,仍然产生自增ID号,但这个自增ID号仅仅是最终ID号的一部分。比如:可以规定,该自增ID号为最终ID号的高位部分,最终ID号的低位部分另行约定,诸如:第一张表的低位部分为0,第二张表的低位部分为1等。然而,这样的实现方式对前端业务开发而言非常不直观,需要根据约定对最终ID进行分析才能够得到自增ID,大大增加了代码维护成本,且扩展性差。
发明内容
为克服相关技术中存在的问题,本公开提供一种信息写入方法和装置。
根据本公开实施例的第一方面,提供一种信息写入方法,包括:
生成N个不重复的ID号,N为大于1的自然数;
将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;
在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;
根据获取的所述ID号进行所述信息的写入。
可选的,还包括:
判断所述信息是否写入失败;
如果所述信息写入失败,则将获取的所述ID号返还到所述信息对应的ID队列中。
可选的,还包括:
判断所述ID队列中ID号的数量是否小于等于阈值;
如果所述ID队列中ID号的数量小于等于所述阈值,则生成预设数量个不重复的ID号补充到所述ID队列中,所述预设数量个不重复的ID号与所述N个ID号不重复。
可选的,所述判断所述ID队列中ID号的数量是否小于等于阈值包括:
判断是否到达预设的时间周期;
如果到达所述预设的时间周期,则判断所述ID队列中ID号的数量是否小于等于阈值。
可选的,所述判断所述ID队列中ID号的数量是否小于等于阈值包括:
在从所述ID队列获取一个ID号后,判断所述ID队列中ID号的数量是否小于等于阈值。
可选的,还包括:
在删除所述信息后,将所述信息的ID号返还到所述信息对应的ID队列中。
根据本公开实施例的第二方面,提供一种信息写入装置,包括:
ID生成单元,用于生成N个不重复的ID号,N为大于1的自然数;
ID分发单元,用于将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;
ID获取单元,用于在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;
信息写入单元,用于根据获取的所述ID号进行所述信息的写入。
可选的,还包括:
第一判断单元,用于判断所述信息是否写入失败;
第一执行单元,用于在所述信息写入失败时,将获取的所述ID号返还到所述信息对应的ID队列中。
可选的,还包括:
第二判断单元,用于判断所述ID队列中ID号的数量是否小于等于阈值;
第二执行单元,用于在所述ID队列中ID号的数量小于等于所述阈值时,生成预设数量个不重复的ID号补充到所述ID队列中,所述预设数量个不重复的ID号与所述N个ID号不重复。
可选的,所述第二判断单元包括:
时间判断子单元,用于判断是否到达预设的时间周期;
第一判断子单元,用于在到达所述预设的时间周期时,判断所述ID队列中ID号的数量是否小于等于阈值。
可选的,所述第二判断单元包括:
第二判断子单元,用于在从所述ID队列获取一个ID号后,判断所述ID队列中ID号的数量是否小于等于阈值。
可选的,还包括:
删除处理单元,用于在删除所述信息后,将所述信息的ID号返还到所述信息对应的ID队列中。
根据本公开实施例的第三方面,提供一种信息写入装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
生成N个不重复的ID号,N为大于1的自然数;
将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;
在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;
根据获取的所述ID号进行所述信息的写入。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开将生成的N个不重复的ID号分发到预设的M个ID队列中,使得所述M个ID队列中的每个ID号都唯一,并在接收到需要写入的信息时,可以从所述信息对应的ID队列中获取唯一的ID号,实现了在数据库分库分表时ID号的获取。同时当遇到有大量信息需要写入时,不会因为获取ID号锁表而影响数据库的性能,且从所述ID队列中获取的ID号就是最终ID号,也不会增加前端业务逻辑的复杂度。
本公开可以在服务器上设置和数据库分表一一对应的ID队列,在存在有需要写入的信息时,可以从该信息需要写入的分表对应的ID队列中获取ID号,进而在遇到大量信息需要写入时,可以并发处理,提升速度。
本公开可以在信息写入失败时,将获取的所述ID号返还到所述信息对应的ID队列中,以便后续可以重新利用所述ID号,避免资源浪费。
本公开可以对ID队列中包括的ID号的数量进行监控,以便在所述ID队列中ID号的数量小于等于阈值时,可以及时进行补充。
本公开可以在删除数据库中存储的信息后,将所述信息的ID号返还到所述信息对应的ID队列中,以便可以重新利用所述ID号,避免资源浪费。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种信息写入方法的流程图。
图2是根据一示例性实施例示出的另一种信息写入方法的流程图。
图3是根据一示例性实施例示出的另一种信息写入方法的流程图。
图4是一示例性实施例示出的一种信息写入装置的框图。
图5是一示例性实施例示出的另一种信息写入装置的框图。
图6是一示例性实施例示出的另一种信息写入装置的框图。
图7是一示例性实施例示出的另一种信息写入装置的框图。
图8是一示例性实施例示出的另一种信息写入装置的框图。
图9是一示例性实施例示出的另一种信息写入装置的框图。
图10是一示例性实施例示出的一种用于信息写入装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种信息写入方法的流程图。
如图1所示,所述信息写入方法可以用于服务器中,包括以下步骤:
在步骤S101中,生成N个不重复的ID号,N为大于1的自然数。
在本实施例中,可以根据预设的算法生成所述N个不重复的ID号。较为简单的,可以生成N个连续的自然数以作为所述ID号,比如:建立一张专门用来生成ID号的表。当然,也可以通过rand函数或者srand函数生成所述ID号,本公开对此不作限制。
在本步骤中,N的取值可以由开发人员进行设置,比如:100万或者200万,本公开对此也不作限制。
在步骤S102中,将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N。
在本实施例中,会预先在服务器上设置M个ID队列,用于存储所述N个不重复的ID号。其中,M的取值可以由开发人员根据数据库中分表的数量进行设置,比如:可以为每张分表设置一个对应的ID队列。
在步骤S103中,在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号。
在本实施例中,当服务器接收到需要写入数据库中的信息时,可以先判断所述信息要写入的分表,进而可以从所述分表对应的ID队列中获取到一个唯一的ID号。
在步骤S104中,根据获取的所述ID号进行所述信息的写入。
基于前述步骤S103,在获取到所述ID号之后,可以根据所述ID号将所述信息写入数据库中。比如:将所述ID号和所述信息一同保存在数据库中。
由以上描述可以看出,本公开将生成的N个不重复的ID号分发到预设的M个ID队列中,使得所述M个ID队列中的每个ID号都唯一,并在接收到需要写入的信息时,可以从所述信息对应的ID队列中获取唯一的ID号,实现了在数据库分库分表时ID号的获取。同时当遇到有大量信息需要写入时,不会因为获取ID号锁表而影响数据库的性能,且从所述ID队列中获取的ID号就是最终ID号,也不会增加前端业务逻辑的复杂度。
图2是根据一示例性实施例示出的另一种信息写入方法的流程图。
如图2所示,所述信息写入方法可以用于服务器中,包括以下步骤:
在步骤S201中,生成N个不重复的ID号,N为大于1的自然数。
在本实施例中,可以根据预设的算法生成所述N个不重复的ID号。较为简单的,可以生成N个连续的自然数以作为所述ID号,比如:建立一张专门用来生成ID号的表,使用该表自增的N个ID号作为所述N个不重复的ID号。当然,也可以通过rand函数或者srand函数生成所述ID号,本公开对此不作限制。
在本步骤中,N的取值可以由开发人员进行设置。由于需要写入数据库的信息的数量通常较多,比如:某知名应用的用户数量可能高达几百万,所以N可以取值为100万或者200万,甚至更多。
在步骤S202中,将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N。
在本实施例中,会预先在服务器上设置M个ID队列,比如:可以通过Redis或者Memcacheq设置所述M个ID队列,用于存储所述N个不重复的ID号。其中,M的取值可以由开发人员进行设置,比如:可以为每张分表设置一个对应的ID队列,举例来说,假设某应用数据库共有两张分表,一张分表用于存储用户信息,另一张分表用于存储产品信息,那么可以设置两个ID队列,分别与这两张分表对应,本公开对此不作限制。
在本步骤中,将前述步骤S201中生成的N个不重复的ID号分发到所述预设的M个ID队列中,以使得所述M个ID队列中的每个ID号都唯一。在实际实现中,可以将所述N个不重复的ID号平均分发到所述M个ID队列中,也可以根据每个ID队列对应的分表的大小来分发所述N个不重复的ID号,比如:对于可以存储信息数量较多的分表对应的ID队列,可以为其多分发一些的ID号。
在步骤S203中,在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号。
在本实施例中,当服务器接收到需要写入数据库中的信息时,可以先判断所述信息需要写入的分表,然后从所述分表对应的ID队列中获取一个ID号。举例来说,服务器接收到一条需要写入数据库中的信息,假设该信息需要写入分表2,则在本步骤中,从所述分表2对应的ID队列2中获取一个ID号。
由此可见,在本实施例中,可以在服务器上设置和数据库分表一一对应的ID队列,在存在有需要写入的信息时,可以从该信息需要写入的分表对应的ID队列中获取ID号,进而在遇到大量信息需要写入时,可以并发处理,提升速度。
在步骤S204中,根据获取的所述ID号进行所述信息的写入。
基于前述步骤S203,在获取到所述ID号之后,可以根据所述ID号将所述信息写入数据库中。比如:将所述信息和获取的所述ID号一同写入在数据库的表中,以便于后续可以根据所述ID号查找到所述信息。本领域技术人员可以依据相关技术中提供的方式进行所述信息的写入,本公开对此不作限制。
在步骤S205中,判断所述信息是否写入失败,如果所述信息写入失败,则执行步骤S206。
在本步骤中,判断上述步骤S204中信息是否写入失败,如果信息写入成功,则结束流程。如果信息写入失败,则执行步骤S206。其中,所述信息写入失败可能是由于在锁表的时候进行信息写入等情况导致的。
在步骤S206中,将获取的所述ID号返还到所述信息对应的ID队列中。
基于前述步骤S205的判断结果,如果信息写入失败,则将获取的所述ID号返还到所述信息对应的ID队列中,以便后续可以重新利用所述ID号,避免资源浪费。
由以上描述可以看出,本公开将生成的N个不重复的ID号分发到预设的M个ID队列中,使得所述M个ID队列中的每个ID号都唯一,并在接收到需要写入的信息时,可以从所述信息对应的ID队列中获取唯一的ID号,实现了在数据库分库分表时ID号的获取。同时当遇到有大量信息需要写入时,不会因为获取ID号锁表而影响数据库的性能,且从所述ID队列中获取的ID号就是最终ID号,也不会增加前端业务逻辑的复杂度。
可选的,请参考图3,在本公开另一实施例中,结合前述图2所示的实施例,本公开还可以包括以下步骤:
在步骤S207中,判断所述ID队列中ID号的数量是否小于等于阈值,如果所述ID队列中ID号的数量小于等于阈值,则执行步骤S208。如果所述ID队列中ID号的数量大于阈值,则结束流程。
在本实施例中,服务器每当接收到需要写入数据库的信息时,就会从所述信息对应的ID队列中获取一个ID号以进行信息写入,由于所述ID队列中ID号是有限的,所以所述ID队列中ID号会越来越少。在本步骤中,对所述ID队列中ID号的数量进行监控,以便于在所述ID队列中ID号的数量小于等于阈值时,可以及时进行补充。
在本步骤中,所述判断所述ID队列中ID号的数量是否小于等于阈值可以包括以下两种实现方式:
一、判断是否到达预设的时间周期,如果到达所述预设的时间周期,则判断所述ID队列中ID号的数量是否小于等于阈值。在本实现方式中,可以定期判断所述ID队列中ID号的数量是否小于等于阈值,其中,进行判断的时间周期可以由开发人员根据接收到需要写入数据库的信息的频率进行设置,如果接收到需要写入数据库的信息的频率较高,则说明所述ID队列中ID号的数量减少相对较快,可以适当设置较短的时间周期,比如:2秒钟,如果接收到需要写入数据库的信息的频率较低,则说明所述ID队列中ID号的数量减少相对较慢,可以适当设置较长的时间周期,比如:5秒钟等,本公开对此不作限制。
二、在从所述ID队列获取一个ID号后,判断所述ID队列中ID号的数量是否小于等于阈值。在本实现方式中,每当从所述ID队列获取一个ID号之后,就对所述ID队列中ID号的数量进行判断。
在本步骤中,所述阈值可以由开发人员进行设置。假设,所述ID队列包括的ID号的原始数量为100万,则可以将所述阈值设置为一万或两万,本公开对此不作限制。
在步骤S208中,生成预设数量个不重复的ID号补充到所述ID队列中。
基于前述步骤S207的判断结果,如果所述ID队列中ID号的数量小于等于所述阈值,则可以继续生成预设数量个不重复的ID号,然后将这些ID号补充到所述ID队列中。
其中,所述预设数量可以为所述ID队列中ID号的原始数量与所述阈值的差,仍以为所述ID队列分发100万个ID号,所述阈值为1万为例,则在本步骤中,可以生成99万个不重复的ID号,然后将这99万个不重复的ID号补充到所述ID队列中。
需要说明的是,本步骤在生成ID号的时候,要确保生成的预设数量个ID号和之前生成的ID号也不重复,这样,才可以确保步骤S203中获取的ID号唯一。
可选的,在本公开另一实施例中,结合前述图2所示的实施例,本公开还可以在删除数据库中存储的信息后,可以将所述信息的ID号返还到所述信息对应的ID队列中,以便可以重新利用所述ID号,避免资源浪费。
下面结合具体的应用场景来描述本公开的具体实现。
假设,某应用服务器数据库中有两张分表,分表1用于存储用户信息,分表2用于存储订单信息,与所述两张分表相对应,服务器上设置有两个ID队列,其中,ID队列1与用于存储用户信息的分表1对应,ID队列2与用于存储订单信息的分表2对应,ID队列1和ID队列2中均包括有100万个ID号。
当服务器接收到需要存储在数据库中的信息时,比如:有新用户进行注册,则服务器在接收到该新用户的用户信息时,从存储用户信息的分表1对应的ID队列1中获取一个ID号,比如:01010,然后将该ID号01010和该用户信息写入数据库的分表1中。当某用户通过本应用进行购物时,如果下单成功,则服务器会接收到订单信息,服务器会从存储所述订单信息的分表2对应的ID队列2中获取一个ID号,比如:01245,然后将该ID号01245和所述订单信息写入数据库的分表2中。
在上述应用场景中,服务器可以采用前述图1或图2所示方法实施例来实现上述过程,在此不再赘述。
与前述信息写入方法实施例相对应,本公开还提供了信息写入装置的实施例。
图4是根据一示例性实施例示出的一种信息写入装置的框图,所述装置可以用于服务器中。
如图4所示,所述信息写入装置400包括:ID生成单元401、ID分发单元402、ID获取单元403以及信息写入单元404。
其中,该ID生成单元401被配置为:生成N个不重复的ID号,N为大于1的自然数。
该ID分发单元402被配置为:将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N。
该ID获取单元403被配置为:在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号。
该信息写入单元404被配置为:根据获取的所述ID号进行所述信息的写入。
上述实施例中,服务器将生成的N个不重复的ID号分发到预设的M个ID队列中,使得所述M个ID队列中的每个ID号都唯一,并在接收到需要写入的信息时,可以从所述信息对应的ID队列中获取唯一的ID号,实现了在数据库分库分表时ID号的获取。同时当遇到有大量信息需要写入时,不会因为获取ID号锁表而影响数据库的性能,且从所述ID队列中获取的ID号就是最终ID号,也不会增加前端业务逻辑的复杂度。
图5是根据一示例性实施例示出的另一种信息写入装置的框图,所述装置可以用于服务器中,该实施例在前述图4所示实施例的基础上,所述信息写入装置400还可以包括:第一判断单元405和第一执行单元406。
其中,该第一判断单元405被配置为:判断所述信息是否写入失败。
该第一执行单元406被配置为:在所述信息写入失败时,将获取的所述ID号返还到所述信息对应的ID队列中。
上述实施例中,服务器可以在信息写入失败时,将获取的ID号返还到所述信息对应的ID队列中,以便后续可以重新利用所述ID号,避免资源浪费。
图6是根据一示例性实施例示出的另一种信息写入装置的框图,所述装置可以用于服务器中,该实施例在前述图4所示实施例的基础上,所述信息写入装置400还可以包括:第二判断单元407和第二执行单元408。
其中,该第二判断单元407被配置为:判断所述ID队列中ID号的数量是否小于等于阈值。
该第二执行单元408被配置为:在所述ID队列中ID号的数量小于等于所述阈值时,生成预设数量个不重复的ID号补充到所述ID队列中,所述预设数量个不重复的ID号与所述N个ID号不重复。
上述实施例中,服务器可以对ID队列中ID号的数量进行监控,以便在所述ID队列中ID号的数量小于等于阈值时,可以及时进行补充。
需要说明的是,上述图6所示的装置实施例中所述第二判断单元407和第二执行单元408,也可以包含在前述图5的装置实施例中,本公开对此不作限制。
图7是根据一示例性实施例示出的另一种信息写入装置的框图,所述装置可以用于服务器中,该实施例在前述图6所示实施例的基础上,所述第二判断单元407可以包括:时间判断子单元4071和第一判断子单元4072。
其中,该时间判断子单元4071被配置为:判断是否到达预设的时间周期。
该第一判断子单元4072被配置为:在到达所述预设的时间周期时,判断所述ID队列中ID号的数量是否小于等于阈值。
图8是根据一示例性实施例示出的另一种信息写入装置的框图,所述装置可以用于服务器中,该实施例在前述图6所示实施例的基础上,所述第二判断单元407还可以包括:第二判断子单元4073。
该第二判断子单元4073被配置为:在从所述ID队列获取一个ID号后,判断所述ID队列中ID号的数量是否小于等于阈值。
图9是根据一示例性实施例示出的另一种信息写入装置的框图,所述装置可以用于服务器中,该实施例在前述图4所示实施例的基础上,所述装置400还可以包括:删除处理单元409。
该删除处理单元409被配置为:在删除所述信息后,将所述信息的ID号返还到所述信息对应的ID队列中。
上述实施例中,服务器可以在删除数据库中存储的信息后,将所述信息的ID号返还到所述信息对应的ID队列中,以便可以重新利用所述ID号,避免资源浪费。
需要说明的是,上述图9所示的装置实施例中所述删除处理单元409,也可以包含在前述图5至图8的装置实施例中,本公开对此不作特殊限制。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本公开还提供一种信息写入装置,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:生成N个不重复的ID号,N为大于1的自然数;将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;根据获取的所述ID号进行所述信息的写入。
相应的,本公开还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种信息写入方法,所述方法包括:生成N个不重复的ID号,N为大于1的自然数;将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;根据获取的所述ID号进行所述信息的写入。
图10是根据一示例性实施例示出的一种用信息写入装置1000的框图。例如,装置1000可以被提供为一服务器。参照图10,装置1000包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理部件1022的执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述信息写入方法。
装置1000还可以包括一个电源组件1026被配置为执行装置1000的电源管理,一个有线或无线网络接口1050被配置为将装置1000连接到网络,和一个输入输出(I/O)接口1058。装置1000可以操作基于存储在存储器1032的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种信息写入方法,其特征在于,包括:
生成N个不重复的ID号,N为大于1的自然数;
将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;
在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;
根据获取的所述ID号进行所述信息的写入。
2.根据权利要求1所述的信息写入方法,其特征在于,还包括:
判断所述信息是否写入失败;
如果所述信息写入失败,则将获取的所述ID号返还到所述信息对应的ID队列中。
3.根据权利要求1所述的信息写入方法,其特征在于,还包括:
判断所述ID队列中ID号的数量是否小于等于阈值;
如果所述ID队列中ID号的数量小于等于所述阈值,则生成预设数量个不重复的ID号补充到所述ID队列中,所述预设数量个不重复的ID号与所述N个ID号不重复。
4.根据权利要求3所述的信息写入方法,其特征在于,
所述判断所述ID队列中ID号的数量是否小于等于阈值包括:
判断是否到达预设的时间周期;
如果到达所述预设的时间周期,则判断所述ID队列中ID号的数量是否小于等于阈值。
5.根据权利要求3所述的信息写入方法,其特征在于,
所述判断所述ID队列中ID号的数量是否小于等于阈值包括:
在从所述ID队列获取一个ID号后,判断所述ID队列中ID号的数量是否小于等于阈值。
6.根据权利要求1所述的信息写入方法,其特征在于,还包括:
在删除所述信息后,将在所述信息对应的ID队列中获取到的ID号返还到所述信息对应的ID队列中。
7.一种信息写入装置,其特征在于,包括:
ID生成单元,用于生成N个不重复的ID号,N为大于1的自然数;
ID分发单元,用于将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;
ID获取单元,用于在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;
信息写入单元,用于根据获取的所述ID号进行所述信息的写入。
8.根据权利要求7所述的信息写入装置,其特征在于,还包括:
第一判断单元,用于判断所述信息是否写入失败;
第一执行单元,用于在所述信息写入失败时,将获取的所述ID号返还到所述信息对应的ID队列中。
9.根据权利要求7所述的信息写入装置,其特征在于,还包括:
第二判断单元,用于判断所述ID队列中ID号的数量是否小于等于阈值;
第二执行单元,用于在所述ID队列中ID号的数量小于等于所述阈值时,生成预设数量个不重复的ID号补充到所述ID队列中,所述预设数量个不重复的ID号与所述N个ID号不重复。
10.根据权利要求9所述的信息写入装置,其特征在于,所述第二判断单元包括:
时间判断子单元,用于判断是否到达预设的时间周期;
第一判断子单元,用于在到达所述预设的时间周期时,判断所述ID队列中ID号的数量是否小于等于阈值。
11.根据权利要求9所述的信息写入装置,其特征在于,所述第二判断单元包括:
第二判断子单元,用于在从所述ID队列获取一个ID号后,判断所述ID队列中ID号的数量是否小于等于阈值。
12.根据权利要求7所述的信息写入装置,其特征在于,还包括:
删除处理单元,用于在删除所述信息后,将在所述信息对应的ID队列中获取到的ID号返还到所述信息对应的ID队列中。
13.一种信息写入装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
生成N个不重复的ID号,N为大于1的自然数;
将所述N个ID号分发到预设的M个ID队列中,M为大于1的自然数,且M小于N;
在接收到需要写入的信息时,在所述信息对应的ID队列中获取一个ID号;
根据获取的所述ID号进行所述信息的写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602328.0A CN104317749B (zh) | 2014-10-31 | 2014-10-31 | 信息写入方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602328.0A CN104317749B (zh) | 2014-10-31 | 2014-10-31 | 信息写入方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317749A CN104317749A (zh) | 2015-01-28 |
CN104317749B true CN104317749B (zh) | 2017-12-05 |
Family
ID=52372984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410602328.0A Active CN104317749B (zh) | 2014-10-31 | 2014-10-31 | 信息写入方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317749B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844397B (zh) * | 2015-12-07 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 基于分库分表的任务传输方法、装置及系统 |
CN105630991B (zh) * | 2015-12-25 | 2019-11-01 | 北京奇虎科技有限公司 | Id自动生成方法及装置 |
CN105893466B (zh) * | 2016-03-28 | 2019-09-20 | 中国建设银行股份有限公司 | 一种应用于数据库的数据处理方法及系统 |
CN107528816B (zh) * | 2016-06-22 | 2021-05-18 | 中兴通讯股份有限公司 | 分布式数据库中id的处理方法、管理系统及服务器 |
CN107066463A (zh) * | 2016-10-28 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和服务器 |
CN109388626B (zh) * | 2017-08-04 | 2023-01-31 | 北京京东尚科信息技术有限公司 | 用于向业务分配编号的方法和装置 |
CN108804545B (zh) * | 2018-05-18 | 2022-07-08 | 土巴兔集团股份有限公司 | 分布式全局唯一id生成方法及设备 |
CN108874946B (zh) * | 2018-06-05 | 2021-09-24 | 政采云有限公司 | 一种id管理方法及装置 |
CN109376155B (zh) * | 2018-11-06 | 2021-07-20 | 泰康保险集团股份有限公司 | Id生成方法及装置、存储介质及电子设备 |
CN110442581A (zh) * | 2019-08-05 | 2019-11-12 | 北京智慧远景科技产业有限公司 | 一种数据存储、读取的方法和系统 |
CN110609823A (zh) * | 2019-09-06 | 2019-12-24 | 福建天晴数码有限公司 | 一种设置高可用临时id的方法及其系统 |
CN114827082A (zh) * | 2022-06-29 | 2022-07-29 | 广州市玄武无线科技股份有限公司 | 分布式系统全局唯一id生成方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544153A (zh) * | 2012-07-10 | 2014-01-29 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据更新方法和系统 |
CN103631940A (zh) * | 2013-12-09 | 2014-03-12 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
CN103778066A (zh) * | 2014-01-24 | 2014-05-07 | 中国工商银行股份有限公司 | 数据处理方法和装置 |
CN103942209A (zh) * | 2013-01-18 | 2014-07-23 | 阿里巴巴集团控股有限公司 | 数据处理方法 |
-
2014
- 2014-10-31 CN CN201410602328.0A patent/CN104317749B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544153A (zh) * | 2012-07-10 | 2014-01-29 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据更新方法和系统 |
CN103942209A (zh) * | 2013-01-18 | 2014-07-23 | 阿里巴巴集团控股有限公司 | 数据处理方法 |
CN103631940A (zh) * | 2013-12-09 | 2014-03-12 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
CN103778066A (zh) * | 2014-01-24 | 2014-05-07 | 中国工商银行股份有限公司 | 数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104317749A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317749B (zh) | 信息写入方法和装置 | |
US10783435B2 (en) | Modifying computational graphs | |
CN109597965B (zh) | 基于深度神经网络的数据处理方法、系统、终端及介质 | |
CN106909543B (zh) | 一种规则引擎的模式匹配方法和装置 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN108197486A (zh) | 大数据脱敏方法、系统、计算机可读介质及设备 | |
CN110096263A (zh) | Web前端代码自动生成方法及装置 | |
US20180121241A1 (en) | Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities | |
CN104077280A (zh) | 社区发现并行化方法和系统、主节点和运算节点设备 | |
CN114667507A (zh) | 使用基于应用的剖析的机器学习工作负载的弹性执行 | |
US20190266019A1 (en) | Task Scheduling Using Improved Weighted Round Robin Techniques | |
CN103246484B (zh) | 一种数据存储方法、装置及系统 | |
CN106339802A (zh) | 任务分配的方法和装置、电子设备 | |
CN116306957A (zh) | 异步多方面加权联邦学习系统和方法 | |
US20160342899A1 (en) | Collaborative filtering in directed graph | |
CN103309690B (zh) | 处理数据的方法和电子设备 | |
CN105447003A (zh) | 一种参数集合生成方法及设备 | |
CN112596879B (zh) | 用于量子云计算平台任务调度的方法 | |
CN105607892A (zh) | 一种多程序的并发执行方法和系统 | |
CN106844605B (zh) | 批量数据逻辑处理方法及装置 | |
CN111836274B (zh) | 一种业务处理的方法及装置 | |
CN113868139A (zh) | 造数准确度分析方法、装置、电子设备和存储介质 | |
CN108551484B (zh) | 用户信息同步方法、装置、计算机装置及存储介质 | |
CN111400050A (zh) | 一种分配资源执行任务的方法及装置 | |
CN116737348B (zh) | 一种多方任务的处理方法、装置及计算机设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |