[發明專利]一種基于Redis的標識生成方法和裝置在審
| 申請號: | 202010474466.0 | 申請日: | 2020-05-29 |
| 公開(公告)號: | CN111694845A | 公開(公告)日: | 2020-09-22 |
| 發明(設計)人: | 張鵬 | 申請(專利權)人: | 中國建設銀行股份有限公司;建信金融科技有限責任公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/21 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 郝紅玉;馮培培 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 redis 標識 生成 方法 裝置 | ||
本發明公開了一種基于Redis的標識生成方法和裝置,涉及計算機技術領域。該方法的一具體實施方式包括:接收標識生成請求,檢測當前主數據庫是否運行正常;若正常,則將主備切換標記位設置為第一數值,利用主數據庫基于符號位、第一數值和序列號,生成標識;若異常,則將主備切換標記位設置為第二數值,將主數據庫與一個運行正常的備數據庫進行主備切換,進而利用備數據庫基于符號位、第二數值和序列號,生成標識。該實施方式使用主數據庫或備數據庫時的主備切換標記位數值不同,保證了標識生成的唯一性和高可用性,容災能力強,避免出現單點故障;設置空閑位可以縮短ID長度,降低對存儲空間的占用量,方便后續其他標識位的動態擴展。
技術領域
本發明涉及計算機技術領域,尤其涉及一種基于Redis的標識生成方法和裝置。
背景技術
在復雜分布式系統中,往往需要對大量的數據和消息進行唯一標識,例如合同系統中的合同號,核心、抵質押、催收系統中的貸款號或銀行卡號等序列號等,這些唯一標識就是分布式ID。
目前基于Redis的分布式ID生成方法,通常利用Redis單線程特性和過期策略,獲取ID實現,生成的分布式ID為64位,具體如下:使用41bit存放時間,精確到毫秒;使用12bit存放邏輯分片ID,最大分片ID是4095;使用10bit存放自增長ID,則每個節點每毫秒最多可生成1024個ID。
在實現本發明的過程中,發明人發現現有技術至少存在如下問題:
1、由于Redis的主備模式存在master和slave同步問題,一旦master出現異常,在故障轉移切換slave時,可能由于主備一致性問題導致ID重復;
2、時間戳基于工作設備的本機時鐘生成,因此當工作設備出現時鐘回撥情況時,生成ID的時間戳也會隨之回退,如果仍按照回退后的時間戳生成ID,則可能會出現ID重復問題;
3、64位的ID對于大多數軟件系統而言是過剩的,會占用過多的存儲空間,且無法根據應用場景進行適當擴展。
發明內容
有鑒于此,本發明實施例提供一種基于Redis的標識生成方法和裝置,至少能夠解決現有技術中ID重復以及擴展不易的現象。
為實現上述目的,根據本發明實施例的一個方面,提供了一種基于Redis的標識生成方法,所述標識包括符號位、主備切換標記位和序列號,所述序列號為自增序列號,包括:
接收標識生成請求,檢測當前主數據庫是否運行正常;
若正常,則將所述主備切換標記位設置為第一數值,利用所述主數據庫基于所述符號位、所述第一數值和所述序列號,生成標識;
若異常,則將所述主備切換標記位設置為第二數值,將所述主數據庫與一個運行正常的備數據庫進行主備切換,進而利用所述備數據庫基于所述符號位、所述第二數值和所述序列號,生成標識。
可選的,所述標識還包括數據中心位和設備標識位,所述數據中心位對應于數據中心的編號,所述主數據庫和所述備數據庫與所述數據中心關聯;所述設備標識位對應于發放序列號的設備的編號,所述設備位于所述數據中心中;
所述利用所述主數據庫基于所述符號位、所述第一數值和所述序列號,生成標識,包括:利用所述主數據庫基于所述符號位、所述第一數值、所述數據中心位、所述設備標識位和所述序列號,生成標識;
所述利用所述備數據庫基于所述符號位、所述第二數值和所述序列號,生成標識,包括:利用所述備數據庫基于所述符號位、所述第二數值、所述數據中心位、所述設備標識位和所述序列號,生成標識。
可選的,所述檢測當前主數據庫是否運行正常,還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國建設銀行股份有限公司;建信金融科技有限責任公司,未經中國建設銀行股份有限公司;建信金融科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010474466.0/2.html,轉載請聲明來源鉆瓜專利網。





