[發(fā)明專利]一種分布式全局唯一規(guī)則ID的生成方法在審
| 申請?zhí)枺?/td> | 202211704769.2 | 申請日: | 2022-12-29 |
| 公開(公告)號: | CN116010498A | 公開(公告)日: | 2023-04-25 |
| 發(fā)明(設計)人: | 劉國文;盛凱;任京徽 | 申請(專利權)人: | 南京中孚信息技術有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F16/27;G06F16/22;G06F40/126 |
| 代理公司: | 北京和信華成知識產權代理事務所(普通合伙) 11390 | 代理人: | 張菊萍 |
| 地址: | 210000 江蘇省南京市浦口區(qū)江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 全局 唯一 規(guī)則 id 生成 方法 | ||
本發(fā)明涉及一種分布式全局唯一規(guī)則ID的生成方法,其特征在于,包括以下步驟:頁面新增規(guī)則指定數(shù)據(jù)向后臺請求生成分布式全局唯一規(guī)則ID;后端接收請求開始生成規(guī)則ID;自定義組成策略通過傳入每部分十進制的業(yè)務值以及所占的位數(shù)來組成一個二進制數(shù)字;默認組成策略則是通過獲取業(yè)務系統(tǒng)的版本號,將版本號轉成二進制數(shù)字然后形成workId;獲取規(guī)則編號;獲取序列值。本發(fā)明在不依賴機器時鐘周期以及三方服務如數(shù)據(jù)庫的條件下實現(xiàn)分布式規(guī)則ID的生成并且支持自定義策略實現(xiàn)規(guī)則ID各部分位數(shù)的自定義。
技術領域
本發(fā)明屬于分布式ID生成技術領域,尤其涉及一種分布式全局唯一規(guī)則ID的生成方法。
背景技術
目前市面主流的分布式ID生成的方法有:
基于服務器的時鐘周期如推特的雪花算法。雪花算法是用64位long類型的數(shù)據(jù)存儲id,最高一位存儲0或者1,0代表整數(shù),1代表負數(shù),一般都是0。41位存儲毫秒時間戳,10位存儲機器碼,12存儲序列號。
基于數(shù)據(jù)庫號段模式如美團的leaf-segment算法。每次批量獲取一個號段內的分布式Id,用完之后再去數(shù)據(jù)庫獲取新的號段內的分布式Id,分布式id的唯一性由數(shù)據(jù)庫保證。
雪花算法的分布式ID生成算法強依賴機器的時鐘周期,當發(fā)生時鐘回撥的情況會出現(xiàn)分布式ID錯亂的問題。
數(shù)據(jù)庫號段模式在數(shù)據(jù)量大的場景需要和數(shù)據(jù)庫頻繁交互,I/0占用高。另外,數(shù)據(jù)庫宕機將造成整個系統(tǒng)不可用。
發(fā)明內容
本發(fā)明目的在于提供一種用于航空部件減振性能測試的原位打印裝置及方法,對航空部件減振性能的測試和減振零件結構提供了一種新的解決方案,更好的適用于航空部件各種復雜的表面外形,提供一種新的減振結構以保證減振性能滿足要求外減輕減振零件。
為了實現(xiàn)這一目的,采用以下技術方案:
一種分布式全局唯一規(guī)則ID的生成方法,包括以下步驟:
步驟S1、頁面新增規(guī)則指定數(shù)據(jù)向后臺請求生成分布式全局唯一規(guī)則ID;
步驟S2、后端接收請求開始生成規(guī)則ID;
步驟S3、自定義組成策略通過傳入每部分十進制的業(yè)務值以及所占的位數(shù)來組成一個二進制數(shù)字;
步驟S4、默認組成策略則是通過獲取業(yè)務系統(tǒng)的版本號,將版本號轉成二進制數(shù)字然后形成workId;
步驟S5、獲取規(guī)則編號;
步驟S6、獲取序列值。
進一步地,步驟S3包括:如果傳入的位數(shù)超過自定義位數(shù)會拋出自定義位數(shù)異常,當傳入的參數(shù)值通過校驗之后,將每部分業(yè)務值轉成預期位數(shù)的二進制數(shù)字,最終將所有的二進制數(shù)字全部拼接起來形成workId。
進一步地,步驟S5包括:規(guī)則編號默認占7位二進制數(shù)字,規(guī)則編號的獲取有兩種方式:一種是系統(tǒng)集群部署的時候內置了每個節(jié)點的集群編號,獲取每個節(jié)點不會重復的集群編號標識轉化為二進制數(shù)字,然后形成規(guī)則編號加載到本地緩存;另外一種是自定義規(guī)則編號,首次加載組件時會生成規(guī)則ID相關的配置文件,在配置文件可自定義規(guī)則編號,然后系統(tǒng)內部會獲取規(guī)則編號轉成二進制數(shù)字,同樣加載到本地緩存。
進一步地,步驟S6包括,序列值的生成會先從本地緩存獲取,如果本地緩存有直接獲取,如果本地緩存沒有,這個時候會查看步驟s5中和規(guī)則編號一樣的配置文件,獲取配置文件中的規(guī)則號段值,規(guī)則號段值是一個范圍,可根據(jù)業(yè)務實際并發(fā)量定義,獲取之后一次性生成這個號段內所有的序列值加載到緩存中并更新配置文件為下一個號段,最后從本地緩存取出一個序列值。
與現(xiàn)有技術相比,本發(fā)明具有如下有益效果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京中孚信息技術有限公司,未經(jīng)南京中孚信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211704769.2/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 規(guī)則發(fā)現(xiàn)程序、規(guī)則發(fā)現(xiàn)處理和規(guī)則發(fā)現(xiàn)裝置
- 不規(guī)則瓶蓋
- 相關規(guī)則分析裝置以及相關規(guī)則分析方法
- 分析規(guī)則調整裝置、分析規(guī)則調整系統(tǒng)以及分析規(guī)則調整方法
- 規(guī)則抽取方法和規(guī)則抽取設備
- 終端規(guī)則引擎裝置、終端規(guī)則運行方法
- 布(規(guī)則)
- 規(guī)則呈現(xiàn)方法、存儲介質和規(guī)則呈現(xiàn)裝置
- 可編寫規(guī)則配置模塊、規(guī)則生成系統(tǒng)、及規(guī)則管理平臺
- 不規(guī)則圍棋





