[發(fā)明專利]業(yè)務(wù)標(biāo)識(shí)生成方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410422055.1 | 申請(qǐng)日: | 2014-08-25 |
| 公開(kāi)(公告)號(hào): | CN105447023B | 公開(kāi)(公告)日: | 2019-02-05 |
| 發(fā)明(設(shè)計(jì))人: | 江建明 | 申請(qǐng)(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號(hào): | G06F16/903 | 分類號(hào): | G06F16/903 |
| 代理公司: | 北京三友知識(shí)產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 李輝 |
| 地址: | 英屬開(kāi)曼群島大開(kāi)曼*** | 國(guó)省代碼: | 開(kāi)曼群島;KY |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 業(yè)務(wù) 標(biāo)識(shí) 生成 方法 裝置 | ||
本申請(qǐng)實(shí)施例公開(kāi)了一種業(yè)務(wù)標(biāo)識(shí)生成方法和裝置。為多個(gè)業(yè)務(wù)服務(wù)器中的至少一個(gè)分配一個(gè)只屬于該業(yè)務(wù)服務(wù)器的業(yè)務(wù)標(biāo)識(shí)生成器,該方法包括:業(yè)務(wù)標(biāo)識(shí)生成器接收請(qǐng)求獲取業(yè)務(wù)標(biāo)識(shí)的消息(攜帶業(yè)務(wù)服務(wù)器標(biāo)識(shí)和業(yè)務(wù)對(duì)象標(biāo)識(shí));響應(yīng)于該消息,查詢業(yè)務(wù)對(duì)象標(biāo)識(shí)指示的目標(biāo)業(yè)務(wù)對(duì)象在當(dāng)前的最大業(yè)務(wù)標(biāo)識(shí)值,并對(duì)業(yè)務(wù)服務(wù)器標(biāo)識(shí)進(jìn)行哈希計(jì)算,用哈希計(jì)算值對(duì)預(yù)設(shè)閾值進(jìn)行取模計(jì)算;先計(jì)算取模計(jì)算值與預(yù)設(shè)步長(zhǎng)值的乘積,再計(jì)算乘積值與業(yè)務(wù)標(biāo)識(shí)最大值的和值作為起始值,計(jì)算起始值與預(yù)設(shè)步長(zhǎng)值的和值作為終止值,最終生成初始的業(yè)務(wù)標(biāo)識(shí)區(qū)間。根據(jù)本申請(qǐng)實(shí)施例,既可以減小業(yè)務(wù)標(biāo)識(shí)生成器故障對(duì)業(yè)務(wù)的影響范圍,還保證生成的業(yè)務(wù)標(biāo)識(shí)是唯一的。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,特別是涉及業(yè)務(wù)標(biāo)識(shí)生成方法和裝置。
背景技術(shù)
在互聯(lián)網(wǎng)應(yīng)用中,業(yè)務(wù)服務(wù)器為客戶端的每一筆業(yè)務(wù)創(chuàng)建一個(gè)業(yè)務(wù)實(shí)例(由該業(yè)務(wù)實(shí)例執(zhí)行業(yè)務(wù)處理)后,都需要為該業(yè)務(wù)實(shí)例分配一個(gè)唯一的標(biāo)識(shí)(ID,Identify),該ID即為業(yè)務(wù)ID。一般情況下,可以利用業(yè)務(wù)數(shù)據(jù)庫(kù)的自增主鍵模式為各業(yè)務(wù)實(shí)例生成唯一的ID,再由業(yè)務(wù)服務(wù)器分配給各業(yè)務(wù)實(shí)例。
由于互聯(lián)網(wǎng)環(huán)境下的龐大數(shù)據(jù)量給業(yè)務(wù)數(shù)據(jù)庫(kù)帶來(lái)巨大的訪問(wèn)壓力,因此,業(yè)務(wù)數(shù)據(jù)庫(kù)通常都會(huì)做分庫(kù)或分表處理。分庫(kù)的好處是易于對(duì)業(yè)務(wù)數(shù)據(jù)庫(kù)進(jìn)行橫向(水平)擴(kuò)容。例如,將1個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)水平擴(kuò)容成4個(gè)分庫(kù)(每個(gè)分庫(kù)可以部署在單獨(dú)的服務(wù)器上)。這樣,訪問(wèn)壓力可以分散在4個(gè)分庫(kù)上,每個(gè)分庫(kù)的訪問(wèn)壓力就會(huì)變小,性能也就隨之提高了。
在業(yè)務(wù)數(shù)據(jù)庫(kù)被分庫(kù)的情況下,現(xiàn)有技術(shù)中又提出了一種采用集中式的ID生成器為各業(yè)務(wù)實(shí)例生成唯一的ID的方法。在該實(shí)現(xiàn)方法中,請(qǐng)參閱圖1所示,多個(gè)業(yè)務(wù)服務(wù)器(每個(gè)業(yè)務(wù)服務(wù)器都可以處理多種不同的業(yè)務(wù)類型,如,一個(gè)業(yè)務(wù)服務(wù)器可以處理付款業(yè)務(wù)和轉(zhuǎn)賬業(yè)務(wù)兩種業(yè)務(wù)類型)共用同一個(gè)集中式的ID生成器。針對(duì)任意一個(gè)業(yè)務(wù)服務(wù)器(假設(shè)為業(yè)務(wù)服務(wù)器1),集中式的ID生成器會(huì)根據(jù)該業(yè)務(wù)服務(wù)器1的請(qǐng)求,為該業(yè)務(wù)服務(wù)器1上的某一個(gè)業(yè)務(wù)對(duì)象(假設(shè)為業(yè)務(wù)對(duì)象A)生成一個(gè)唯一的ID區(qū)間(即,ID區(qū)間中的每一個(gè)ID都是唯一的),以便當(dāng)該業(yè)務(wù)服務(wù)器1每創(chuàng)建該業(yè)務(wù)對(duì)象A的一個(gè)業(yè)務(wù)實(shí)例后,集中式的ID生成器就可以從該ID區(qū)間中取出一個(gè)ID,供該業(yè)務(wù)服務(wù)器1分配給該業(yè)務(wù)實(shí)例。當(dāng)ID區(qū)間中的所有ID全部用完后,還可以再重復(fù)執(zhí)行上述流程,以保證該業(yè)務(wù)服務(wù)器A可以使用新的ID區(qū)間。在上述過(guò)程中,集中式的ID生成器依賴于分布式鎖的方式保證為各個(gè)業(yè)務(wù)服務(wù)器上的各個(gè)業(yè)務(wù)對(duì)象生成的ID區(qū)間都是唯一的。
但是,在實(shí)現(xiàn)本申請(qǐng)的過(guò)程中,本申請(qǐng)的發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:由于多個(gè)業(yè)務(wù)服務(wù)器共用同一個(gè)集中式的ID生成器,因此,一旦該集中式的ID生成器因出現(xiàn)故障而不可用,并且,在該集中式的ID生成器恢復(fù)正常之前,各業(yè)務(wù)服務(wù)器獲取的ID區(qū)間中的ID也全部用完,就會(huì)導(dǎo)致所有業(yè)務(wù)服務(wù)器無(wú)法為新創(chuàng)建的業(yè)務(wù)實(shí)例分配ID,進(jìn)而無(wú)法完成業(yè)務(wù)處理。因此,所有業(yè)務(wù)服務(wù)器上的所有業(yè)務(wù)都會(huì)因該集中式的ID生成器出現(xiàn)故障而同時(shí)受到影響。
發(fā)明內(nèi)容
為了解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供了業(yè)務(wù)標(biāo)識(shí)生成方法和裝置,以在減小ID生成器的故障對(duì)業(yè)務(wù)的影響范圍的同時(shí),還要保證生成的業(yè)務(wù)標(biāo)識(shí)是唯一的。
本申請(qǐng)實(shí)施例公開(kāi)了如下技術(shù)方案:
一種業(yè)務(wù)標(biāo)識(shí)生成方法,為多個(gè)業(yè)務(wù)服務(wù)器中的至少一個(gè)分配一個(gè)只屬于所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)標(biāo)識(shí)生成器,所述方法包括:
a)、業(yè)務(wù)標(biāo)識(shí)生成器接收請(qǐng)求獲取業(yè)務(wù)標(biāo)識(shí)的消息,所述消息攜帶有業(yè)務(wù)服務(wù)器標(biāo)識(shí)和業(yè)務(wù)對(duì)象標(biāo)識(shí);
b)、響應(yīng)于所述消息,業(yè)務(wù)標(biāo)識(shí)生成器查詢所述業(yè)務(wù)對(duì)象標(biāo)識(shí)指示的目標(biāo)業(yè)務(wù)對(duì)象在當(dāng)前的業(yè)務(wù)標(biāo)識(shí)最大值,并對(duì)所述業(yè)務(wù)服務(wù)器標(biāo)識(shí)進(jìn)行哈希計(jì)算,利用哈希計(jì)算值對(duì)預(yù)設(shè)閾值進(jìn)行取模計(jì)算,所述預(yù)設(shè)閾值大于或等于分布式系統(tǒng)中的業(yè)務(wù)服務(wù)器的總個(gè)數(shù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410422055.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種在有線智能網(wǎng)中實(shí)現(xiàn)直播業(yè)務(wù)的方法
- 業(yè)務(wù)路由方法、業(yè)務(wù)路由器、客戶端設(shè)備及業(yè)務(wù)網(wǎng)絡(luò)系統(tǒng)
- 一種移動(dòng)業(yè)務(wù)消息路由的方法、系統(tǒng)和設(shè)備
- 業(yè)務(wù)處理方法、設(shè)備和系統(tǒng)
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 業(yè)務(wù)限流方法及業(yè)務(wù)限流裝置
- 一種信息推薦方法、裝置及存儲(chǔ)介質(zhì)
- 一種基于業(yè)務(wù)事件的頁(yè)面展示方法、裝置和電子設(shè)備
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 一種安全業(yè)務(wù)的定義、開(kāi)發(fā)和執(zhí)行方法及系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





