[发明专利]用于全球同服架构的分布式ID生成方法、装置及设备有效
申请号: | 201911175607.2 | 申请日: | 2019-11-26 |
公开(公告)号: | CN110935168B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 郭小林 | 申请(专利权)人: | 上海莉莉丝科技股份有限公司 |
主分类号: | A63F13/352 | 分类号: | A63F13/352 |
代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 肖华 |
地址: | 201802 上海市嘉*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 全球 架构 分布式 id 生成 方法 装置 设备 | ||
1.一种用于全球同服架构的分布式ID生成方法,其特征在于,预先设定应用于所述全球同服架构的ID的总位数,将所述ID划分为节点标识区间位、时间戳区间位和节点内递增区间位并设定所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位的位数,所述分布式ID生成方法包括:
接收目标业务请求方发送的ID生成请求;
解析所述ID生成请求携带的节点标识,以所述节点标识本地生成所述节点标识区间位;
对与所述目标业务请求方对应的当前时间戳和所述全球同服架构的上线时间戳作差,本地生成所述时间戳区间位,所述当前时间戳、所述上线时间戳和所述时间戳区间位均以毫秒级为单位;
取所述当前时间戳的当前毫秒数进行与所述业务请求方对应的节点内递增操作,本地生成所述节点内递增区间位;
将所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位进行本地拼接,获得一个目标ID,并反馈所述目标ID至所述目标业务请求方;
其中,在所述全球同服架构的上线时间戳与所述当前时间戳的差值大于预设值时,所述分布式ID生成方法还包括:
重新设定所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位的位数,其中,重新设定所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位的位数的同时保证所述ID的总位数不变;
其中,所述重新设定所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位的位数包括:
将所述时间戳区间位的原始设定位数扩大至第一目标设定位数;
将所述节点标识区间位的原始设定位数缩小至第二目标设定位或将所述节点内递增区间位的原始设定位数缩小至第三目标设定位数;
所述第二目标设定位数与所述节点标识区间位的原始设定位数的差值或所述第三目标设定位数与所述节点内递增区间位的原始设定位数的差值均与所述第一目标设定位数与所述时间戳区间位的原始设定位数的差值相同,以使所述全球同服架构的ID的总位数保持不变。
2.如权利要求1所述的用于全球同服架构的分布式ID生成方法,其特征在于,在所述反馈所述目标ID至所述目标业务请求方之前,所述分布式ID生成方法还包括:
对所述时间戳区间位进行左移位操作,以生成新的时间戳区间位;
对所述节点标识区间位进行左移位操作,以生成新的节点标识区间位;
将所述新的时间戳区间位、所述新的节点标识区间位和所述节点内递增区间位拼接,获得一个新的ID;
将所述新的ID作为所述目标ID发送至所述目标业务请求方。
3.一种用于全球同服架构的分布式ID生成装置,其特征在于,所述分布式ID生成装置包括:
接收模块,用于接收目标业务请求方发送的ID生成请求;
解析模块,用于解析所述ID生成请求携带的节点标识,以所述节点标识本地生成所述节点标识区间位;
作差模块,用于对当前时间戳和所述全球同服架构的上线时间戳作差,生成所述时间戳区间位,所述当前时间戳、所述上线时间戳和所述时间戳区间位均以毫秒级为单位;
递增模块,用于取所述当前时间戳的当前毫秒数进行与所述业务请求方对应的节点内递增,生成所述节点内递增区间位;
第一拼接模块,用于将所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位进行拼接,获得一个目标ID,并反馈所述目标ID至所述目标业务请求方;
其中,所述分布式ID生成装置还包括:
设定模块,用于重新设定所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位的位数,其中,重新设定所述节点标识区间位、所述时间戳区间位和所述节点内递增区间位的位数的同时保证所述ID的总位数不变;
其中,所述设定模块包括:
扩大单元,用于将所述时间戳区间位的原始设定位数扩大至第一目标设定位数;
缩小单元,用于将所述节点标识区间位的原始设定位数缩小至第二目标设定位或将所述节点内递增区间位的原始设定位数缩小至第三目标设定位;
其中,所述第二目标设定位与所述节点标识区间位的原始设定位数的差值或所述第三目标设定位与所述节点内递增区间位的原始设定位数的差值均与所述第一目标设定位数与所述时间戳区间位的原始设定位数的差值相同,以使所述全球同服架构的ID的总位数保持不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海莉莉丝科技股份有限公司,未经上海莉莉丝科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911175607.2/1.html,转载请声明来源钻瓜专利网。