[發明專利]一種生成唯一標識的方法和裝置在審
| 申請號: | 201811098591.5 | 申請日: | 2018-09-20 |
| 公開(公告)號: | CN110928912A | 公開(公告)日: | 2020-03-27 |
| 發明(設計)人: | 李長軍 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F16/2457 | 分類號: | G06F16/2457 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 張一軍;張效榮 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 生成 唯一 標識 方法 裝置 | ||
本發明公開了一種生成唯一標識的方法和裝置,涉及計算機技術領域。該方法的一具體實施方式包括:獲取構成唯一標識的字段信息,字段信息包括字段對應的字段長度和字段位置;根據字段長度生成對應字段的字段值;將字段值根據對應字段的字段位置進行二進制移位,并將移位后的字段值進行順序拼接以得到唯一標識。該實施方式能夠通過二進制移位的方式實現不依賴于數據庫而生成唯一標識,可以提供高性能、隱身式的統一全局唯一標識生成服務,且支持唯一標識的反解。
技術領域
本發明涉及計算機技術領域,尤其涉及一種生成唯一標識的方法和裝置。
背景技術
很多業務系統,都有生成唯一標識ID的需求,例如:訂單標識order-id,醫生標識doctor-id,消息標識message-id,等等。業務往往需要根據這個唯一標識去查詢一條記錄信息。通常情況下,唯一標識只需要保證其全局唯一性即可,但是如果將其作為數據庫主鍵進行數據存儲及查詢,則要求這個唯一標識ID具有有序性。由此可以看出,全局服務的唯一標識ID的兩大核心要素:
1)全局唯一性;
2)趨勢有序性。
目前,常用的生成唯一標識的方法主要有以下兩種:
1、使用通用唯一識別碼UUID(Universally Unique Identifier)作為唯一標識ID。通用唯一識別碼UUID是一種軟件建構的標準,亦為開放軟件基金會組織在分布式計算環境領域的一部分。其目的是讓分布式系統中的所有元素都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定。使用通用唯一識別碼UUID作為唯一標識,其優點是無需遠程調用,生成性能高。但是生成的唯一標識無序、結構無規則,且由于UUID是較長的字符串,以長字符串作為主鍵時索引效率低下;
2、使用數據庫的數據自增(auto_increment)功能來生成唯一標識ID。其利用了數據庫自帶功能,實現簡單,且能保證唯一性和遞增性。但是其生成的唯一標識ID結構形式單一(例如:起始值為0,步長為1,產生的ID依次為0、1、2、3、4、5等),且結構自增方式很容易被猜測處理,可能會暴露數據量(如訂單量)等一些敏感信息;其次,使用數據庫來生成唯一標識不易擴容,每次擴容時都需要將一部分數據移動到擴展的數據庫中,工作量大且容易出錯;再次,使用數據庫來生成唯一標識對于高并發業務的支持能力有限。
發明內容
有鑒于此,本發明實施例提供一種生成唯一標識的方法和裝置,能夠通過二進制移位的方式實現不依賴于數據庫而生成唯一標識,可以提供高性能、隱身式的統一全局唯一標識生成服務,且支持唯一標識的反解。
為實現上述目的,根據本發明實施例的一個方面,提供了一種生成唯一標識的方法。
一種生成唯一標識的方法,包括:獲取構成唯一標識的字段信息,所述字段信息包括字段對應的字段長度和字段位置;根據所述字段長度生成對應字段的字段值;將所述字段值根據對應字段的字段位置進行二進制移位,并將移位后的字段值進行順序拼接以得到所述唯一標識。
可選地,構成唯一標識的字段包括業務號、機器號、自增序列和時間戳。
可選地,所述自增序列基于比較交換技術生成。
可選地,所述唯一標識基于長整型實現。
可選地,將移位后的字段值進行順序拼接以得到所述唯一標識包括:將移位后的字段值進行順序拼接,并將拼接后得到的字段值進行數據轉換,然后將數據轉換后得到的字段值作為所述唯一標識。
根據本發明實施例的另一方面,提供了一種生成唯一標識的裝置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811098591.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:呼叫中心系統的登錄認證方法和裝置
- 下一篇:一種超聲波鉛酸蓄電池





