[發明專利]一種基于Redis的業務ID生成方法在審
| 申請號: | 202010513461.4 | 申請日: | 2020-06-08 |
| 公開(公告)號: | CN111651459A | 公開(公告)日: | 2020-09-11 |
| 發明(設計)人: | 任超超;楊明 | 申請(專利權)人: | 北京首汽智行科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2458 |
| 代理公司: | 北京世譽鑫誠專利代理事務所(普通合伙) 11368 | 代理人: | 李世端 |
| 地址: | 100026 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 redis 業務 id 生成 方法 | ||
1.一種基于Redis的業務ID生成方法,其特征在于,包括:
ID生成中心連接Redis集群,對Redis集群節點ID表進行初始化配置,所述初始化配置至少包括配置所述Redis集群中每個節點的節點ID,以及定義生成ID的初始時間戳;
應用服務獲取某個節點的節點ID,Redis的當前時間戳,以及當前節點的節點自增長ID值;
采用ID生成算法,基于所述初始時間戳、所述當前時間戳、所述節點ID和所述節點自增長ID值,生成64位的業務ID。
2.根據權利要求1所述的基于Redis的業務ID生成方法,其特征在于,所述應用服務獲取某個節點的節點ID,具體包括:
應用服務調用ID生成中心接口,所述ID生成中心從Redis節點ID表中獲取集群中某一節點的節點ID。
3.根據權利要求1所述的基于Redis的業務ID生成方法,其特征在于,所述應用服務獲取Redis的當前時間戳,以及當前節點的節點自增長ID值,具體包括:
應用服務調用ID生成中心接口,所述ID生成中心利用Lua腳本執行功能,獲取Redis當前時間戳,以及當前節點的自增值。
4.根據權利要求3所述的基于Redis的業務ID生成方法,其特征在于,所述ID生成中心利用Lua腳本執行功能,獲取Redis當前時間戳,以及當前節點的自增值:
采用Lua腳本根據Redis TIME命令,獲取Redis的當前時間戳,以及當前節點的節點自增長ID值。
5.根據權利要求1所述的基于Redis的業務ID生成方法,其特征在于,所述64位的業務ID包括:
1位標識符、41位時間戳和22位的ID值組,所述ID值組包括節點ID和節點增長ID值。
6.根據權利要求5所述的基于Redis的業務ID生成方法,其特征在于,在所述22位的ID值組中,節點ID占12位,節點增長ID值占10位。
7.根據權利要求1所述的基于Redis的業務ID生成方法,其特征在于,所述生成業務ID,具體包括;
首先獲取Redis當前毫秒級的時間戳,減去初始預定的時間戳,得到差值的毫秒數,左移64-1-41=22位,然后加上當前節點的節點ID左移10位后的值,最后加上節點的自增長ID值,其生成公式為:
(當前時間戳-初始時間戳)22+節點ID10+節點自增ID值。
8.一種計算機可讀存儲介質,其上存儲有計算機程序,當所述計算機程序在計算機中執行時,令計算機執行權利要求1-7中任一項的所述的方法。
9.一種計算設備,包括存儲器和處理器,其特征在于,所述存儲器中存儲有可執行代碼,所述處理器執行所述可執行代碼時,實現權利要求1-7中任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京首汽智行科技有限公司,未經北京首汽智行科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010513461.4/1.html,轉載請聲明來源鉆瓜專利網。





