[發明專利]一種分布式全局ID生成方法及其裝置在審
| 申請號: | 201910022807.8 | 申請日: | 2019-01-10 |
| 公開(公告)號: | CN109783126A | 公開(公告)日: | 2019-05-21 |
| 發明(設計)人: | 江卓浩;黃龍程;盧歆翮;陳漢輝;李茂;吳海權;陳鎮秋;楊鍵;陳晨 | 申請(專利權)人: | 珠海金山網絡游戲科技有限公司;廣州西山居世游網絡科技有限公司 |
| 主分類號: | G06F8/70 | 分類號: | G06F8/70 |
| 代理公司: | 廣州嘉權專利商標事務所有限公司 44205 | 代理人: | 俞梁清 |
| 地址: | 519000 廣東省珠海市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 全局 獲取模塊 判定模塊 業務系統 上傳 判定 工作效率 獲取請求 接收模塊 接收指令 快速接入 生成模塊 生成請求 提取模塊 統一管理 序列信息 業務場景 端口碼 時間戳 序列碼 可讀 后臺 外部 保證 | ||
1.一種分布式全局ID生成方法,包括以下步驟:
S1、接收全局ID生成指令;
S2、提取設備申請全局ID時的本地時間戳;
S3、判定設備ID是否已存在對應節點;
S4、通過判定結果采取對應方式獲取本地序列碼;
S5、獲取請求方IP地址和端口碼;
S6、通過請求方IP地址和端口碼生成請求序列信息并進行判定;
S7、通過本地時間戳、設備ID以及本地序列碼生成全局ID;
S8、上傳全局ID至后臺。
2.根據權利要求1所述的分布式全局ID生成方法,其特征在于,所述全局ID采用64位方式存儲,其中最高位不使用且始終為0。
3.根據權利要求1所述的分布式全局ID生成方法,其特征在于,所述設備ID由10bit組成,其分配通過Zookeeper進行管理,所述Zookeeper是一種開源的分布式應用程序協調服務。
4.根據權利要求1所述的分布式全局ID生成方法,其特征在于,所述本地時間戳由41位bit組成,最小單位為毫秒。
5.根據權利要求1所述的分布式全局ID生成方法,其特征在于,步驟S4中的判定結果包括已存在、未存在對應節點;若判定結果為已存在對應節點,系統自動獲取設備ID對應的本地序列碼;若判定結果為未存在對應節點,系統初始化當前節點并獲取本地序列碼。
6.根據權利要求5所述的分布式全局ID生成方法,其特征在于,若同一設備在相同時間接入多于一個節點,不同節點依次在已生成的最大本地序列碼數值上加一生成新的序列碼。
7.根據權利要求5所述的分布式全局ID生成方法,其特征在于,一個節點對應一個進程,系統支持同一設備在相同時間最多對應4096個進程。
8.根據權利要求1所述的分布式全局ID生成方法,其特征在于,所述本地序列碼由12bit組成。
9.根據權利要求1所述的分布式全局ID生成方法,其特征在于,步驟S6中的判定包括若判定結果為不通過,則終止本次指令生成操作;若判定結果為通過,則進行下一步。
10.一種分布式全局ID生成裝置,包括:
接收模塊,用于接收全局ID生成指令;
提取模塊,用于提取設備申請全局ID時的本地時間戳;
第一判定模塊,用于判定設備ID是否已存在對應節點;
第一獲取模塊,用于通過判定結果采取對應方式獲取本地序列碼;
第二獲取模塊,用于獲取請求方IP地址和端口碼;
第二判定模塊,用于通過請求方IP地址和端口碼生成請求序列信息并進行判定;
生成模塊,用于通過本地時間戳、設備ID以及本地序列碼生成全局ID;以及
上傳模塊,用于上傳全局ID至后臺。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海金山網絡游戲科技有限公司;廣州西山居世游網絡科技有限公司,未經珠海金山網絡游戲科技有限公司;廣州西山居世游網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910022807.8/1.html,轉載請聲明來源鉆瓜專利網。





