[發明專利]一種基于業務的全局ID生成方法及系統在審
| 申請號: | 201610955454.3 | 申請日: | 2016-11-03 |
| 公開(公告)號: | CN107038188A | 公開(公告)日: | 2017-08-11 |
| 發明(設計)人: | 李冰;何良均;溫宗臣;范衛衛;馮森林;張書凡 | 申請(專利權)人: | 北京集奧聚合科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京和信華成知識產權代理事務所(普通合伙)11390 | 代理人: | 胡劍輝 |
| 地址: | 100085 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 業務 全局 id 生成 方法 系統 | ||
技術領域
本發明涉及大數據處理的技術領域,尤其涉及一種基于業務的全局ID生成方法,以及基于業務的全局ID生成系統。
背景技術
現有技術方案大多采用時間戳+隨機數的生成方式。時間戳一般是取系統當前的13位毫秒時間戳,隨機數則是根據系統內置的隨機數生成函數,并經過一定的處理,返回一個固定位數的數字串,拼接起來作為整個ID。
現有方案在單機執行的時候,是沒什么問題的,但是在分布式系統中,由于是并行操作,在同一毫秒,多臺機器都會執行相同指令,從而導致出現重復ID的狀況,經過測試,40億左右的數量級,會產生1萬個左右的重復ID,重復率約為40萬分之一。
發明內容
為克服現有技術的缺陷,本發明要解決的技術問題是提供了一種基于業務的全局ID生成方法,其能夠使生成的ID是唯一的,而且有了業務意義,讓數據分析師根據ID就可以得到很多重要信息,避免了很多例如join之類的其他多余操作,提升了數據分析效率。
本發明的技術方案是:這種基于業務的全局ID生成方法,該方法包括以下步驟:
(1)對業務數據進行數字編碼,并把生成的字典文件存儲到hadoop集群;
(2)實時獲取運營商數據,并寫到hadoop集群;
(3)配置調度任務,定期執行程序,解析運營商數據,并生成ID,導入數據倉庫。
本發明通過把分布式系統中的機器ID和計數器加入參數中,完美的確定了唯一性,并對業務數據進行編碼,作為生成ID的子串,從而能夠使生成的ID是唯一的,而且有了業務意義,讓數據分析師根據ID就可以得到很多重要信息,避免了很多例如join之類的其他多余操作,提升了數據分析效率。
還提供了一種基于業務的全局ID生成系統,該系統包括:
業務編碼模塊,其配置來對業務數據進行數字編碼,并把生成的字典文件存儲到hadoop集群;
運營商數據獲取模塊,其配置來實時獲取運營商數據,并寫到hadoop集群;
ID生成模塊,其配置來配置調度任務,定期執行程序,解析運營商數據,并生成ID,導入數據倉庫。
附圖說明
圖1所示為根據本發明的基于業務的全局ID生成方法的流程圖。
具體實施方式
如圖1所示,這種基于業務的全局ID生成方法,該方法包括以下步驟:
(1)對業務數據進行數字編碼,并把生成的字典文件存儲到hadoop集群;
(2)實時獲取運營商數據,并寫到hadoop集群;
(3)配置調度任務,定期執行程序,解析運營商數據,并生成ID,導入數據倉庫。
本發明通過把分布式系統中的機器ID和計數器加入參數中,完美的確定了唯一性,并對業務數據進行編碼,作為生成ID的子串,從而能夠使生成的ID是唯一的,而且有了業務意義,讓數據分析師根據ID就可以得到很多重要信息,避免了很多例如join之類的其他多余操作,提升了數據分析效率。
另外,所述步驟(1)中,對用戶最關心的賬號類型、運營商和省份數據,進行了數字編碼。
另外,所述步驟(1)中,數字編碼采用2位十進制數字表示,賬號類型、運營商和省份數據相互獨立,分別編碼。
生成ID的程序是基于MapReduce框架實現的。Mapreduce運行時,會調用集群中的多臺機器并行執行,其中每個機器會有一個taskid,不同機器taskid不同,這里我們便利用了這個特性。另外每個機器處理數據的過程中,會有一個計數器,即counter,程序每處理一條數據,計數器執行加一操作。
另外,所述步驟(3)中,ID的組成為:時間戳加上計數器加上機器節點ID再加上業務編碼。這樣既可以完全保證生成ID的唯一性,而且ID包含了重要的業務信息,方便后續的數據分析需求。
另外,所述步驟(3)中,從運營商數據解析出UID、運營商、省份、賬號類型,判斷相應的UID是否已經生成過ID,是則跳過,否則獲取當前的13位時間戳和當前機器節點的ID;然后對運營商、省份、賬號類型根據字典文件按順序進行相應的編碼轉換,生成一個數字組成的字符串,并對計數器加一,如果計數器超過閾值(閾值可以為9999,也可根據實際自行調整),則計數器歸零,如此往復。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京集奧聚合科技有限公司,未經北京集奧聚合科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610955454.3/2.html,轉載請聲明來源鉆瓜專利網。





