[发明专利]标识号分配方法、标识号回收方法及装置有效
申请号: | 201910244647.1 | 申请日: | 2019-03-28 |
公开(公告)号: | CN109977373B | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 龚施俊;鄢贵海;侯忱 | 申请(专利权)人: | 中科驭数(北京)科技有限公司 |
主分类号: | G06F40/146 | 分类号: | G06F40/146 |
代理公司: | 北京金咨知识产权代理有限公司 11612 | 代理人: | 秦景芳 |
地址: | 100190 北京市海淀区科学*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 标识 分配 方法 回收 装置 | ||
本发明提供了一种标识号分配方法、标识号回收方法及装置,该标识号分配方法包括:在分段式位图中查找未被占用满的一段位图,得到查找到的所述段位图的编号;在查找到的所述段位图中查找未被占用的一个位,将查找到的所述位的值由表示位未被占用的第一数值更改为表示位被占用的第二数值,并根据更改值后的所述位所在的所述段位图的所有位的值计算得到查找到的所述位的编号;根据查找到的所述位的编号和查找到的所述段位图的编号计算得到标识号,计算得到的所述标识号用于分配给一对象。通过上述方案本发明能够利用很小的存储空间满足多种标识号分配和回收需求。
技术领域
本发明涉及计算机技术领域,尤其涉及一种标识号(Identification,ID)分配方法、标识号回收方法及装置。
背景技术
在很多计算机领域的相关应用场景下和计算机软件系统中,都需要为一些特定的具有相同结构或功能的对象(或是软件组成部分)分配独一无二的数字标识,即标识号ID,从而对这些对象进行辨识、区分、管理和统计。一个典型的应用场景是,在现代计算机操作系统中,需要为每一个进程分配一个独一无二的标识号,这在操作系统的进程管理机制中是不可或缺的。另一个应用场景是,一些需要进行用户管理的软件系统,需要为每一个用户分配一个能够唯一标识这个用户的标识号,以便将其与其他用户加以区分。
在某些相对简单的应用场景下,比如,对系统的连续运行时间要求不高,或是需要获取标识号的对象的数量不是很多,这样的情况下对于标识号分配模块的要求就不会太多。但是也有一些场景,比如,操作系统,要求能够保证长达几年的连续运行时间,在这样的时间内,会有很多进程产生和消失,但是也有很多进程长期在后台运行。由于进程数量众多,系统运行时间久,进程结束和产生相对较频繁,这可能会导致占用大量存储空间,导致通过数值递增得到的标识号超过最大值限制,还会对结束进程的标识号的回收带来很多困难。
发明内容
有鉴于此,本发明提出了一种标识号分配方法、标识号回收方法及装置,以利用很小的存储空间满足多种标识号分配和回收需求。
为了实现上述目的,本发明采用以下方案:
根据本发明的一个方面,标识号分配方法包括:
在分段式位图中查找未被占用满的一段位图,得到查找到的所述段位图的编号;
在查找到的所述段位图中查找未被占用的一个位,将查找到的所述位的值由表示位未被占用的第一数值更改为表示位被占用的第二数值,并根据更改值后的所述位所在的所述段位图的所有位的值计算得到查找到的所述位的编号;
根据查找到的所述位的编号和查找到的所述段位图的编号计算得到标识号,计算得到的所述标识号用于分配给一对象。
在本发明一个实施例中,在分段式位图中查找未被占用满的一段位图,包括:按编号大小顺序依次判断分段式位图中每段位图是否满足其当前被占用位数小于其大小的条件,直到找到满足该条件的一段位图,作为查找到的未被占用满的一段位图。
在本发明一个实施例中,在查找到的所述段位图中查找未被占用的一个位,包括:按位的索引大小顺序依次判断查找到的所述段位图中的每个位是否满足其值等于所述第一数值的条件,直到找到满足该条件的一个位,作为查找到的未被占用的一个位。
在本发明一个实施例中,根据查找到的所述位的编号和查找到的所述段位图的编号计算得到标识号,包括:根据查找到的所述段位图的编号和所述分段式位图中各段位图的大小计算得到最后一个被占用满位的一段位图的最后一个位在所述分段式位图中的编号;根据查找到的所述位的编号和最后一个位在所述分段式位图中的编号计算得到标识号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科驭数(北京)科技有限公司,未经中科驭数(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910244647.1/2.html,转载请声明来源钻瓜专利网。