CN112527696A - 一种唯一id的存储方法、装置、设备及可读存储介质 - Google Patents
一种唯一id的存储方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112527696A CN112527696A CN202011496497.2A CN202011496497A CN112527696A CN 112527696 A CN112527696 A CN 112527696A CN 202011496497 A CN202011496497 A CN 202011496497A CN 112527696 A CN112527696 A CN 112527696A
- Authority
- CN
- China
- Prior art keywords
- elements
- bitmap
- storage
- storing
- unique
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000006870 function Effects 0.000 claims description 45
- 238000013507 mapping Methods 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000001939 inductive effect Effects 0.000 claims description 15
- 238000011084 recovery Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 230000006698 induction Effects 0.000 description 14
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004064 recycling Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种唯一ID的存储方法,该方法对ID的记录存储方式进行了优化,一方面,不直接存储ID,而是存储ID元素,从而避免信息泄露;另一方面,由于在ID元素数量大于一定阈值时,使用bitmap存储占用空间少,反之使用集合存储占用空间少,因此该方法在ID元素较少时,使用集合结构存储以节省存储空间,反之使用bitmap进行存储,减少存储空间占用。此外,本申请还提供了一种唯一ID的存储装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种唯一ID的存储方法、装置、设备及可读存储介质。
背景技术
生成和分配唯一ID是软件运行中的常见场景。在一些特定场景中,不仅要保持分配ID的唯一性,还需要支持已分配ID的回收以及已回收之后的重复利用。
具有ID回收需求的常见场景有地址空间分配、IP地址分配等。在这种系统中,不仅需要定义唯一ID的生成方法,也要追踪记录ID的使用情况,将已经回收的ID标记为可分配ID,以供在未来分配时重新使用。当可分配的ID数量多时,就需要大量的存储空间来记录ID的使用情况。
一种常见的存储方式是使用一个集合数据结构存储可分配ID,当进行ID分配时,从集合中按照一定方法选取一个ID,将其从集合中移除后返回。当ID回收时,将ID重新加入集合。该方法的主要问题是当可分配ID数量大时,集合结构会占用大量存储空间。以IP地址分配为例,不考虑特殊地址情况下,IPv4可用地址为2^32个,每个地址占用32bit,使用集合结构将占用2^37bits空间,约为16GiB。
另一种存储方式是使用bitmap压缩集合结构,该存储方式占用空间减少,2^32bits约占用512MiB。但是,使用bitmap需要提前预留空间,不论存储了多少可用ID,都需要占用这部分空间,在系统运行初期和负载较小时依然有存储空间利用率低的问题。
可见,目前的唯一ID存储方案存在占用空间过大的缺陷,如何克服该缺陷是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种唯一ID的存储方法、装置、设备及可读存储介质,用以解决当前唯一ID的存储方案占用空间较大的问题。其具体方案如下:
第一方面,本申请提供了一种唯一ID的存储方法,包括:
持续监测ID元素的数量,其中所述ID元素经过映射函数运算得到可分配ID;
在所述ID元素的数量从不满足预设条件变化为满足所述预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空所述集合;
在所述ID元素的数量从满足所述预设条件变化为不满足所述预设条件时,将bitmap中的ID元素存储至集合,释放所述bitmap的内存;
其中,所述预设条件包括:ID元素的数量大于等于预设阈值。
优选的,在所述初始化bitmap,将集合中的ID元素存储至所述bitmap之后,还包括:
设置目标指针指向所述bitmap的内存地址;
相应的,在所述将bitmap中的ID元素存储至集合,释放所述bitmap的内存之后,还包括:
设置目标指针为空指针。
优选的,还包括:
在接收到ID分配请求时,确定ID元素的存储方式;
若所述存储方式为集合,则从集合中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID;
若所述存储方式为bitmap,则从bitmap中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID。
优选的,所述若所述存储方式为集合,则从集合中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID,包括:
若所述存储方式为集合,则判断集合是否为空;
若是,则根据归纳函数生成ID元素;
若不是,从集合中获取ID元素;
对所述ID元素进行映射函数运算,得到可分配ID。
优选的,在所述持续监测ID元素的数量之前,还包括:
根据归纳函数和归纳种子,生成ID元素。
优选的,还包括:
在接收到ID回收请求时,对待回收ID进行映射函数逆运算,得到ID元素;
在ID元素的存储方式为集合时,将所述ID元素存储至集合中;
在ID元素的存储方式为bitmap时,将所述ID元素存储至bitmap中。
优选的,所述预设条件还包括:ID元素的数量大于预设阈值的时间超过预设时间。
第二方面,本申请提供了一种唯一ID的存储装置,包括:
监测模块:用于持续监测ID元素的数量,其中所述ID元素经过映射函数运算得到可分配ID;
第一切换模块:用于在所述ID元素的数量从不满足预设条件变化为满足所述预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空所述集合;
第二切换模块:用于在所述ID元素的数量从满足所述预设条件变化为不满足所述预设条件时,将bitmap中的ID元素存储至集合,释放所述bitmap的内存;
其中,所述预设条件包括:ID元素的数量大于等于预设阈值。
第三方面,本申请提供了一种唯一ID的存储设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的唯一ID的存储方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的唯一ID的存储方法。
本申请所提供的一种唯一ID的存储方法,包括:持续监测ID元素的数量,其中ID元素经过映射函数运算得到可分配ID;在ID元素的数量从不满足预设条件变化为满足预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空集合;在ID元素的数量从满足预设条件变化为不满足预设条件时,将bitmap中的ID元素存储至集合,释放bitmap的内存;其中,预设条件包括ID元素的数量大于等于预设阈值。
可见,该方法对ID的记录存储方式进行了优化,一方面,不直接存储ID,而是存储ID元素,从而避免信息泄露;另一方面,由于在ID元素数量大于一定阈值时,使用bitmap存储占用空间少,反之使用集合存储占用空间少,因此该方法在ID元素较少时,使用集合结构存储以节省存储空间,反之使用bitmap进行存储,减少存储空间占用。
此外,本申请还提供了一种唯一ID的存储装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种唯一ID的存储方法实施例一的流程图;
图2为本申请所提供的一种唯一ID的存储方法实施例二的流程图;
图3为本申请所提供的一种唯一ID的存储装置实施例的功能框图;
图4为本申请所提供的一种唯一ID的存储设备实施例的结构示意图。
具体实施方式
本申请的核心是提供一种唯一ID的存储方法、装置、设备及可读存储介质,在ID元素较少时,使用集合结构存储以节省存储空间,反之使用bitmap进行存储,减少存储空间占用。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种唯一ID的存储方法实施例一进行介绍,参见图1,实施例一包括:
S101、持续监测ID元素的数量,其中所述ID元素经过映射函数运算得到可分配ID;
本实施例中,预先定义归纳种子、归纳函数和映射函数,根据归纳种子和归纳函数,可以生成一系列的ID元素。当用户请求分配ID时,对ID元素进行映射函数运算,即可得到可分配ID。当用户请求回收ID时,对待回收ID进行映射函数逆运算,得到ID元素,然后存储下来。
在对ID进行分配和回收的过程中,持续监测ID元素的数量。
S102、在所述ID元素的数量从不满足预设条件变化为满足所述预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空所述集合;
本实施例中,所述预设条件包括:ID元素的数量大于等于预设阈值。
可以理解的是,为了避免频繁切换ID元素的存储方式,可以进一步扩充预设条件,例如,将预设条件设置为:ID元素的数量大于等于预设阈值,且ID元素的数量大于等于预设阈值的时间大于预设时间。
S103、在所述ID元素的数量从满足所述预设条件变化为不满足所述预设条件时,将bitmap中的ID元素存储至集合,释放所述bitmap的内存。
基于以上,可以进一步实现ID的分配与回收,其中ID分配过程如下所示:在接收到ID分配请求时,确定ID元素的存储方式;若所述存储方式为集合,则从集合中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID;若所述存储方式为bitmap,则从bitmap中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID。
而ID回收过程如下所示:在接收到ID回收请求时,对待回收ID进行映射函数逆运算,得到ID元素;在ID元素的存储方式为集合时,将所述ID元素存储至集合中;在ID元素的存储方式为bitmap时,将所述ID元素存储至bitmap中。
可以理解的是,不同于ID回收过程,在进行ID分配的时候,还需要考虑是否ID元素已经全部分配出去的情况。具体的,在存储方式为集合时,首先判断集合是否为空;若是,则根据归纳函数生成新的ID元素;若不是,从集合中获取ID元素;然后对所述ID元素进行映射函数运算,得到可分配ID。相应的,在存储方式为bitmap时,首先判断bitmap中是否存在ID元素;若是,则从bitmap中获取一个ID元素,否则根据归纳函数生成一个新的ID元素;最终对ID元素进行映射函数运算,得到可分配ID。
在具体实施过程中,为了便于判断ID元素的存储方式,可以设置一个指向bitmap的指针(以下称为目标指针)。在接收到ID分配或回收请求时,首先获取目标指针,若目标指针为空指针,则判定当前存储方式为集合,否则判定当前存储方式为bitmap。
此时,在S102之后,还包括:设置目标指针指向所述bitmap的内存地址;相应的,在S103之后,还包括:设置目标指针为空指针。
本实施例所提供一种唯一ID的存储方法,该方法对ID的记录存储方式进行了优化,一方面,不直接存储ID,而是存储ID元素,从而避免信息泄露;另一方面,由于在ID元素数量大于一定阈值时,使用bitmap存储占用空间少,反之使用集合存储占用空间少,因此该方法在ID元素较少时,使用集合结构存储以节省存储空间,反之使用bitmap进行存储,减少存储空间占用。
下面开始详细介绍本申请提供的一种唯一ID的存储方法实施例二,参见图2,实施例二具体包括:
S201、首先定义唯一ID的存储装置,该装置提供两个对外接口:
ID分配接口:无输入参数,调用后返回一个可用的ID。
ID回收接口:输入一个由ID分配接口分配出去的ID,即待回收ID,进行回收操作。ID回收后可以通过ID分配接口再次获取。
S202、定义该装置的归纳类型、归纳运算函数、归纳属性、归纳种子、映射函数:
(1)归纳类型T:是指进行归纳运算时,运算接受的类型,例如编程语言中常见int,double类型等。
(2)归纳运算函数f(x):是指一种运算函数,输入一个属于上述归纳类型T的值x,输出一个属于上述归纳类型的值f(x),即ID元素。
归纳运算同时还具有下述特性:
确定性性:给定输入的值x,输出的值f(x)为是确定的。
非恒等性:不存在x,使得f(x)=x。
单射性:不存在输入值x1 x2,x1!=x2且f(x1)=f(x2)。
(3)根据函数的特性和实际实现,归纳运算函数还具有以下属性:
定义域:所有有效的运输输入值的集合,输入定义域外的函数会导致运算异常。为方便计算,假设定义域内的元素数量为2^k个。
陪域:经过运算后所有输出值的集合,所有输出值都是由定义域内的输入值运算后产生的。
(4)归纳种子x0:第一次进行归纳运算的初始输入值。
(5)映射函数map(y):定义从ID元素到ID的映射关系。
S203、定义原始ID元素序列seq:
序列中的第一个元素为上述定义的归纳种子x0。序列中剩余元素为将上一元素作为输入并进行归纳运算的输出,例如第二个元素为x1=f(x0),第三个元素为x2=f(x1),以此类推。当归纳函数的输出值不在归纳函数的定义域中时,序列结束。
按照上述序列定义方式,假设归纳类型为32位整形值,归纳运算为将输入值加1后返回,归纳种子为0。按照上述定义,就可以产生0到2^32的整数序列。
S204、为方便ID分配和回收,维护以下三个参数:
(1)维护一个变量v,初始化为0。变量v表示下一个可分配的ID元素。假设连续分配ID元素为0-9,那么v的值就会递增到10,表示在没有已回收ID元素的情况下,下一个可分配的ID元素为10。
(2)维护一个集合s,用于存储回收的ID元素,初始状态为空。
(3)维护一个指针p,用于指向一个bitmap的内存地址,默认为空指针。
S205、实现ID分配接口和ID回收接口:
首先是ID分配接口:
(1)判断集合s是否为空,若不为空,取出一个元素e,计算原始序列第e个值,seq[e]后,返回。
(2)判断指针p是否为空指针,若不是,取出并清空bitmap中设置的第一个值e,计算原始序列第e个值,seq[e]后,返回。
如前文所述,本实施例中集合、bitmap存储的不是ID本身,而是ID元素。以IP分配场景为例,ID元素0、1、2可以分别对应ID192.168.0.1、192.168.0.2、192.168.0.3。当回收192.168.0.2时,逆向推出对应的ID元素为1,存入集合或bitmap中。当重新分配ID时,又取出ID元素1,计算出对应IP,进行分配。
(3)判断v是否大于最大值,若是,则提示ID元素用尽。否则计算并返回seq(v),之后给v递增1,v=v+1。
然后是ID回收接口:
(1)判断输入的ID是否为有效ID,若不是,返回错误。
(2)判断指针p是否为空指针,若不是,根据ID反推出序列下标e后存入bitmap,返回。
(3)根据ID反推出序列下标e后存入集合s,返回。
S206、设置存储方式切换条件。
根据集合和bitmap特性,存储所占用的空间讲具有以下特征:当存储的元素数量多于2^k/k,使用bitmap存储占用空间少;当存储的元素数量少于2^k/k,直接使用集合存储占用空间少。其中k是指每个ID比特数。
根据上述特点,理想状况下,当存储的ID超过一定阈值时,适合使用bitmap,反之是使用集合。然而在实际场景中,ID数量规律随应用场景而变化如果不对切换条件和切换时机加以控制,可能导致存储方案频繁切换,造成性能损失。
因此,本实施例提供以下实现方式:
(1)采集关于ID存储相关的统计数据,可以包括但不限于:
已存储的ID数量n;
每个ID比特数k;
存储ID数量n>2^k/k后的持续时间ta;
存储ID数量n<2^k/k后的持续时间tb;
t1时间内,存储ID变化值dn1。
(2)采集统计其他基于应用场景或人为输入的数据,可以是上述统计数据的权重数据,甚至是直接指示是否切换的指令。
(3)综合上述采集的数据,进行一定程度的加权和运算后,决定是否进行存储方案切换,例如可以执行下属的切换逻辑:
若n超过2^k/k,且ta大于60分钟,在应用负载系数较低时将存储方案切换为bitmap;若n少于2^k/k,且tb大于60分钟,在应用负载系数较低时将存储方案切换为集合。
S207、设置存储方式切换流程。
当切换为bitmap时,初始化一个bitmap用于存储2^k个元素,将集合中的值存入bitmap后清空集合。当切换为集合时,将bitmap存储的元素存入集合s,释放bitmap内存,将指针p设置为空指针。
可见,本实施例提供的一种唯一ID的存储方法,在实现ID分配回收功能同时,能够对ID记录存储进行优化,减少存储空间资源占用问题。
具体的,回收的ID较少时,使用集合结构存储以节省空间。当存储了较多ID,集合结构占用空间大时,切换到bitmap方案,减少存储空间占用。当ID再次被大量利用,被回收的ID减少时,切换回集合存储,减少占用空间。
此外,本实施例通过归纳函数,能够实现连续自然数序列到任意序列的映射;通过运算归纳函数的方式提供ID序列,在ID生成时不占用存储空间。
下面对本申请实施例提供的一种唯一ID的存储装置进行介绍,下文描述的一种唯一ID的存储装置与上文描述的一种唯一ID的存储方法可相互对应参照。
如图3所示,本实施例的唯一ID的存储装置,包括:
监测模块301:用于持续监测ID元素的数量,其中所述ID元素经过映射函数运算得到可分配ID;
第一切换模块302:用于在所述ID元素的数量从不满足预设条件变化为满足所述预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空所述集合;
第二切换模块303:用于在所述ID元素的数量从满足所述预设条件变化为不满足所述预设条件时,将bitmap中的ID元素存储至集合,释放所述bitmap的内存;
其中,所述预设条件包括:ID元素的数量大于等于预设阈值。
本实施例的唯一ID的存储装置用于实现前述的唯一ID的存储方法,因此该装置中的具体实施方式可见前文中的唯一ID的存储方法的实施例部分,例如,监测模块301、第一切换模块302、第二切换模块303,分别用于实现上述唯一ID的存储方法中步骤S101,S102,S103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的唯一ID的存储装置用于实现前述的唯一ID的存储方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种唯一ID的存储设备,如图4所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的唯一ID的存储方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的唯一ID的存储方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种唯一ID的存储方法,其特征在于,包括:
持续监测ID元素的数量,其中所述ID元素经过映射函数运算得到可分配ID;
在所述ID元素的数量从不满足预设条件变化为满足所述预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空所述集合;
在所述ID元素的数量从满足所述预设条件变化为不满足所述预设条件时,将bitmap中的ID元素存储至集合,释放所述bitmap的内存;
其中,所述预设条件包括:ID元素的数量大于等于预设阈值。
2.如权利要求1所述的方法,其特征在于,在所述初始化bitmap,将集合中的ID元素存储至所述bitmap之后,还包括:
设置目标指针指向所述bitmap的内存地址;
相应的,在所述将bitmap中的ID元素存储至集合,释放所述bitmap的内存之后,还包括:
设置目标指针为空指针。
3.如权利要求1所述的方法,其特征在于,还包括:
在接收到ID分配请求时,确定ID元素的存储方式;
若所述存储方式为集合,则从集合中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID;
若所述存储方式为bitmap,则从bitmap中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID。
4.如权利要求3所述的方法,其特征在于,所述若所述存储方式为集合,则从集合中获取ID元素,对所述ID元素进行映射函数运算,得到可分配ID,包括:
若所述存储方式为集合,则判断集合是否为空;
若是,则根据归纳函数生成ID元素;
若不是,从集合中获取ID元素;
对所述ID元素进行映射函数运算,得到可分配ID。
5.如权利要求4所述的方法,其特征在于,在所述持续监测ID元素的数量之前,还包括:
根据归纳函数和归纳种子,生成ID元素。
6.如权利要求3所述的方法,其特征在于,还包括:
在接收到ID回收请求时,对待回收ID进行映射函数逆运算,得到ID元素;
在ID元素的存储方式为集合时,将所述ID元素存储至集合中;
在ID元素的存储方式为bitmap时,将所述ID元素存储至bitmap中。
7.如权利要求1-6任意一项所述的方法,其特征在于,所述预设条件还包括:ID元素的数量大于预设阈值的时间超过预设时间。
8.一种唯一ID的存储装置,其特征在于,包括:
监测模块:用于持续监测ID元素的数量,其中所述ID元素经过映射函数运算得到可分配ID;
第一切换模块:用于在所述ID元素的数量从不满足预设条件变化为满足所述预设条件时,初始化bitmap,将集合中的ID元素存储至所述bitmap,清空所述集合;
第二切换模块:用于在所述ID元素的数量从满足所述预设条件变化为不满足所述预设条件时,将bitmap中的ID元素存储至集合,释放所述bitmap的内存;
其中,所述预设条件包括:ID元素的数量大于等于预设阈值。
9.一种唯一ID的存储设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-7任意一项所述的唯一ID的存储方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任意一项所述的唯一ID的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496497.2A CN112527696A (zh) | 2020-12-17 | 2020-12-17 | 一种唯一id的存储方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011496497.2A CN112527696A (zh) | 2020-12-17 | 2020-12-17 | 一种唯一id的存储方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527696A true CN112527696A (zh) | 2021-03-19 |
Family
ID=75001044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011496497.2A Pending CN112527696A (zh) | 2020-12-17 | 2020-12-17 | 一种唯一id的存储方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527696A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182089B1 (en) * | 1997-09-23 | 2001-01-30 | Silicon Graphics, Inc. | Method, system and computer program product for dynamically allocating large memory pages of different sizes |
US20170316111A1 (en) * | 2016-04-29 | 2017-11-02 | Umbel Corporation | Systems and methods of using a bitmap index to determine bicliques |
CN110209348A (zh) * | 2019-04-17 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-17 CN CN202011496497.2A patent/CN112527696A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182089B1 (en) * | 1997-09-23 | 2001-01-30 | Silicon Graphics, Inc. | Method, system and computer program product for dynamically allocating large memory pages of different sizes |
US20170316111A1 (en) * | 2016-04-29 | 2017-11-02 | Umbel Corporation | Systems and methods of using a bitmap index to determine bicliques |
CN110209348A (zh) * | 2019-04-17 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
托比亚斯•尼普科夫 等: "《高阶逻辑辅助证明系统》", 31 May 2013 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103098014B (zh) | 存储系统 | |
CN104636286B (zh) | 用于数据访问的方法和设备 | |
CN115543696B (zh) | 一种磁盘阵列重构任务加速方法、系统、存储介质及设备 | |
CN112445729B (zh) | 操作地址确定方法、PCIe系统、电子设备及存储介质 | |
WO2019170011A1 (zh) | 任务分配方法及装置、分布式存储系统 | |
CN112214288B (zh) | 基于Kubernetes集群的Pod调度方法、装置、设备和介质 | |
CN112835511A (zh) | 分布式存储集群的数据写入方法、装置、设备和介质 | |
CN115712500A (zh) | 内存释放、内存恢复方法、装置、计算机设备及存储介质 | |
CN108287760A (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN112650449B (zh) | 缓存空间的释放方法、释放系统、电子设备及存储介质 | |
CN112527696A (zh) | 一种唯一id的存储方法、装置、设备及可读存储介质 | |
CN111046004B (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
CN109445863B (zh) | 一种基于fpga的数据处理方法、装置、设备及介质 | |
CN111198756A (zh) | 一种kubernetes集群的应用调度方法及装置 | |
CN115907949A (zh) | 银行交易数据处理方法及装置 | |
CN115065664A (zh) | 一种互联网协议地址的回收方法、电子设备及存储介质 | |
CN111581157B (zh) | 一种对象存储平台以及对象操作方法、装置和服务器 | |
CN111523002B (zh) | 一种主键分配方法、装置、服务器及存储介质 | |
CN112948173A (zh) | 一种数据恢复方法、装置、设备及介质 | |
CN110213396B (zh) | 机场物联网节点设备自动分配地址的动态决策方法和系统 | |
CN113328948A (zh) | 资源管理方法、装置、网络设备及计算机可读存储介质 | |
CN112000471B (zh) | 内存优化方法及装置 | |
CN111679909A (zh) | 数据处理方法、装置及终端设备 | |
CN113726830B (zh) | 一种报文标识生成方法及装置 | |
CN106021121B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210319 |