[發(fā)明專利]容器集群無狀態(tài)下的ID生成方法、裝置、存儲(chǔ)介質(zhì)及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 202010766501.6 | 申請(qǐng)日: | 2020-08-03 |
| 公開(公告)號(hào): | CN112054919B | 公開(公告)日: | 2022-08-16 |
| 發(fā)明(設(shè)計(jì))人: | 趙旭華 | 申請(qǐng)(專利權(quán))人: | 華人運(yùn)通(江蘇)技術(shù)有限公司 |
| 主分類號(hào): | H04L41/0893 | 分類號(hào): | H04L41/0893;H04L41/0816;H04L67/10;H04L67/1001;H04L61/3015;G06F9/455 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司 44202 | 代理人: | 麥小嬋;郝傳鑫 |
| 地址: | 224000 江蘇省鹽城市*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 容器 集群 狀態(tài) id 生成 方法 裝置 存儲(chǔ) 介質(zhì) 系統(tǒng) | ||
本發(fā)明公開了一種容器集群無狀態(tài)下的ID生成方法、裝置、存儲(chǔ)介質(zhì)及系統(tǒng),所述方法包括:當(dāng)接收到客戶端發(fā)送的連接請(qǐng)求時(shí),判斷所述連接請(qǐng)求是否為新連接請(qǐng)求;若是,則通過所述連接池為所述客戶端生成相應(yīng)的連接ID;若否,則從所述連接池獲取所述客戶端對(duì)應(yīng)的連接ID;通過所述連接池為所述連接請(qǐng)求生成相應(yīng)的請(qǐng)求ID;獲取所述連接請(qǐng)求對(duì)應(yīng)的請(qǐng)求時(shí)間戳;根據(jù)所述請(qǐng)求時(shí)間戳、所述連接ID和所述請(qǐng)求ID生成所述容器集群中的唯一ID。采用本發(fā)明的技術(shù)方案解決了在容器集群無狀態(tài)下無法固定配置機(jī)器ID的問題,能夠在不增加分布式系統(tǒng)的實(shí)現(xiàn)難度和復(fù)雜度的情況下生成全局唯一ID。
技術(shù)領(lǐng)域
本發(fā)明涉及容器集群管理技術(shù)領(lǐng)域,尤其涉及一種容器集群無狀態(tài)下的ID生成方法、裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及系統(tǒng)。
背景技術(shù)
目前,隨著容器集群技術(shù)的廣泛使用,無狀態(tài)服務(wù)能夠動(dòng)態(tài)擴(kuò)展和縮容的特性為互聯(lián)網(wǎng)應(yīng)用帶來了極大的部署彈性和高可用性。在分布式架構(gòu)下,系統(tǒng)唯一ID的生成是在設(shè)計(jì)一個(gè)分布式系統(tǒng)時(shí)常常會(huì)遇見的問題。生成ID的方法有很多,以適應(yīng)不同的場(chǎng)景、需求以及性能要求,所以有些比較復(fù)雜的分布式系統(tǒng)會(huì)有多個(gè)ID生成的策略。
在現(xiàn)有的技術(shù)方案中,應(yīng)用較為廣泛的一種分布式ID生成算法為雪花算法(Snowflake),雪花算法的核心思想是使用一個(gè)64bit的long型的數(shù)字作為分布式系統(tǒng)的全局唯一ID,其中,有1bit符號(hào)位(正數(shù)是0,負(fù)數(shù)是1,一般是0),有41bit時(shí)間戳(毫秒級(jí)),有10bit數(shù)據(jù)機(jī)器位(包括5bit的數(shù)據(jù)中心ID和5bit的機(jī)器ID),有12bit序列號(hào)(毫秒級(jí)),雪花算法要求每個(gè)運(yùn)行算法的服務(wù)實(shí)例提供集群內(nèi)唯一的機(jī)器ID,但是,在無狀態(tài)的容器集群環(huán)境下,服務(wù)實(shí)例會(huì)隨著工作負(fù)載動(dòng)態(tài)生成和銷毀,無法事先為每個(gè)服務(wù)實(shí)例固定分配一個(gè)機(jī)器ID,使得該算法難以適用;此外,現(xiàn)有的其他解決方案引入了第三方中間件來協(xié)調(diào)分配機(jī)器ID,這種做法增加了分布式系統(tǒng)的實(shí)現(xiàn)難度和復(fù)雜度。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種容器集群無狀態(tài)下的ID生成方法、裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及系統(tǒng),解決了在容器集群無狀態(tài)下無法固定配置機(jī)器ID的問題,能夠在不增加分布式系統(tǒng)的實(shí)現(xiàn)難度和復(fù)雜度的情況下生成全局唯一ID。
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種容器集群無狀態(tài)下的ID生成方法,所述容器集群中設(shè)置至少一個(gè)負(fù)載均衡服務(wù)器和至少一個(gè)用于管理外部連接請(qǐng)求的連接池,所述方法由所述負(fù)載均衡服務(wù)器執(zhí)行,所述方法包括:
當(dāng)接收到客戶端發(fā)送的連接請(qǐng)求時(shí),判斷所述連接請(qǐng)求是否為新連接請(qǐng)求;
若是,則通過所述連接池為所述客戶端生成相應(yīng)的連接ID;若否,則從所述連接池獲取所述客戶端對(duì)應(yīng)的連接ID;
通過所述連接池為所述連接請(qǐng)求生成相應(yīng)的請(qǐng)求ID;
獲取所述連接請(qǐng)求對(duì)應(yīng)的請(qǐng)求時(shí)間戳;
根據(jù)所述請(qǐng)求時(shí)間戳、所述連接ID和所述請(qǐng)求ID生成所述容器集群中的唯一ID。
進(jìn)一步地,所述獲取所述連接請(qǐng)求對(duì)應(yīng)的請(qǐng)求時(shí)間戳,具體包括:
獲取當(dāng)前的Unix時(shí)間戳;
根據(jù)所述Unix時(shí)間戳與預(yù)設(shè)的基本時(shí)間戳計(jì)算獲得所述請(qǐng)求時(shí)間戳。
進(jìn)一步地,所述根據(jù)所述請(qǐng)求時(shí)間戳、所述連接ID和所述請(qǐng)求ID生成所述容器集群中的唯一ID,具體包括:
將所述請(qǐng)求時(shí)間戳左移32位,并將所述連接ID左移16位,相應(yīng)獲得初始ID;
將所述請(qǐng)求ID與所述初始ID進(jìn)行邏輯或運(yùn)算,獲得所述唯一ID;其中,所述請(qǐng)求時(shí)間戳為31位正整數(shù),所述連接ID為16位正整數(shù),所述請(qǐng)求ID為16位正整數(shù),所述唯一ID為64位正整數(shù)。
進(jìn)一步地,所述方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華人運(yùn)通(江蘇)技術(shù)有限公司,未經(jīng)華人運(yùn)通(江蘇)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010766501.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種集群調(diào)度呼叫業(yè)務(wù)中主叫終端信息顯示方法
- 更新網(wǎng)絡(luò)流量管理設(shè)備同時(shí)維持有效性
- 與集群調(diào)度系統(tǒng)進(jìn)行通信的方法、群集接入網(wǎng)關(guān)及系統(tǒng)
- 一種管理集群通信系統(tǒng)資源的方法
- 基于Kubernetes和OpenStack容器云平臺(tái)多集群構(gòu)建方法、介質(zhì)、設(shè)備
- 一種容災(zāi)系統(tǒng)、容災(zāi)處理方法、監(jiān)控節(jié)點(diǎn)和備份集群
- 一種ETCD集群恢復(fù)方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 混合云場(chǎng)景下保證可用集群數(shù)量的方法、裝置及系統(tǒng)
- 一種集群拓?fù)涓路椒ā⑾到y(tǒng)、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 集群切換方法、集群切換裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)
- 狀態(tài)檢測(cè)裝置及狀態(tài)檢測(cè)方法
- 狀態(tài)估計(jì)裝置以及狀態(tài)估計(jì)方法
- 經(jīng)由次級(jí)狀態(tài)推斷管理狀態(tài)
- 狀態(tài)估計(jì)裝置及狀態(tài)估計(jì)方法
- 狀態(tài)估計(jì)裝置、狀態(tài)估計(jì)方法
- 狀態(tài)預(yù)測(cè)裝置以及狀態(tài)預(yù)測(cè)方法
- 狀態(tài)推定裝置、狀態(tài)推定方法和狀態(tài)推定程序
- 狀態(tài)檢測(cè)系統(tǒng)及狀態(tài)檢測(cè)方法
- 狀態(tài)判定裝置、狀態(tài)判定方法以及狀態(tài)判定程序
- 狀態(tài)判斷裝置以及狀態(tài)判斷方法





