预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115905226A(43)申请公布日2023.04.04(21)申请号202211424273.X(22)申请日2022.11.15(71)申请人迈普通信技术股份有限公司地址610041四川省成都市高新区九兴大道16号(72)发明人王智(74)专利代理机构成都虹桥专利事务所(普通合伙)51124专利代理师陈春光(51)Int.Cl.G06F16/22(2019.01)G06F16/23(2019.01)G06F16/242(2019.01)权利要求书2页说明书6页附图3页(54)发明名称一种ID生成方法及装置(57)摘要本发明涉及计算机技术领域,公开了一种ID生成方法及装置,旨在解决现有的ID生成方法存在重复ID、ID浪费以及ID精度丢失的问题,方案主要包括:确定本机的机器序列号;判断数据库中是否存在所述机器序列号对应的历史ID,若否,则根据默认时间戳、机器序列号和默认序号生成ID,若是,则查询所述历史ID中的最大值ID,将所述最大值ID对应的时间戳和序号作为初始时间戳和初始序号,并根据所述初始时间戳、机器序列号和初始序号生成ID。本发明解决了系统时间回拨的问题,保证了ID的唯一性,同时也避免了ID浪费和ID精度丢失,特别适用于分布式系统。CN115905226ACN115905226A权利要求书1/2页1.一种ID生成方法,其特征在于,包括以下步骤:确定本机的机器序列号;判断数据库中是否存在所述机器序列号对应的历史ID,若否,则根据默认时间戳、机器序列号和默认序号生成ID,若是,则查询所述历史ID中的最大值ID,将所述最大值ID对应的时间戳和序号作为初始时间戳和初始序号,并根据所述初始时间戳、机器序列号和初始序号生成ID。2.如权利要求1所述的ID生成方法,其特征在于,所述默认时间戳为系统当前时间对应的当前时间戳,所述默认序号为0。3.如权利要求2所述的ID生成方法,其特征在于,所述根据初始时间戳、机器序列号和初始序号生成ID,具体包括:将系统当前时间对应的当前时间戳与初始时间戳进行比较,若当前时间戳大于初始时间戳,则根据当前时间戳、机器序列号和置为0后的初始序号生成ID,若当前时间戳小于或等于初始时间戳,则根据初始时间戳、机器序列号和加1后的初始序号生成ID。4.如权利要求3所述的ID生成方法,其特征在于,所述方法还包括:在当前时间戳小于或等于初始时间戳时,判断初始序号是否为最大序号,若是,则根据加1后的初始时间戳、机器序列号和置为0后的初始序号生成ID,否则,根据初始时间戳、机器序列号和加1后的初始序号生成ID。5.如权利要求1所述的ID生成方法,其特征在于,所述默认时间戳和默认序号为0。6.如权利要求5所述的ID生成方法,其特征在于,所述根据初始时间戳、机器序列号和初始序号生成ID,具体包括:判断初始序号是否为最大序号,若是,则根据加1后的初始时间戳、机器序列号和置为0后的初始序号生成ID,若否,则根据初始时间戳、机器序列号和加1后的初始序号生成ID。7.如权利要求1至6任一项所述的ID生成方法,其特征在于,所述生成ID,具体包括:依次将固定符号位以及确定得到的时间戳、机器序列号和序号进行组合得到ID,所述ID的长度小于或等于53比特。8.一种ID生成装置,其特征在于,包括:确定单元,用于确定本机的机器序列号;判断单元,用于判断数据库中是否存在所述机器序列号对应的历史ID;查询单元,用于当存在所述机器序列号对应的历史ID时,查询所述历史ID中的最大值ID,将所述最大值ID对应的时间戳和序号作为初始时间戳和初始序号;生成单元,用于当不存在所述机器序列号对应的历史ID时,根据默认时间戳、机器序列号和默认序号生成ID;以及当存在所述机器序列号对应的历史ID时,根据所述初始时间戳、机器序列号和初始序号生成ID。9.如权利要求8所述的ID生成装置,其特征在于,所述默认时间戳为系统当前时间对应的当前时间戳,所述默认序号为0;所述生成单元,具体用于:将系统当前时间对应的当前时间戳与初始时间戳进行比较,若当前时间戳大于初始时间戳,则根据当前时间戳、机器序列号和置为0后的初始序号生成ID,若当前时间戳小于或等于初始时间戳,则根据初始时间戳、机器序列号和加1后的初始序号生成ID。2CN115905226A权利要求书2/2页10.如权利要求8所述的ID生成装置,其特征在于,所述默认时间戳和默认序号为0;所述生成单元,具体用于:判断初始序号是否为最大序号,若是,则根据加1后的初始时间戳、机器序列号和置为0后的初始序号生成ID,若否,则根据初始时间戳、机器序列号和加1后的初始序号生成ID。3CN115905226A说明书1/6页一种ID生成方法及装置技术领域[0001]本发明涉及