两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

業(yè)務(wù)標(biāo)識生成方法和裝置的制造方法

文檔序號:9687484閱讀:707來源:國知局
業(yè)務(wù)標(biāo)識生成方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,特別是涉及業(yè)務(wù)標(biāo)識生成方法和裝置。
【背景技術(shù)】
[0002] 在互聯(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)識(ID,Identify),該ID 即為業(yè)務(wù)ID。一般情況下,可W利用業(yè)務(wù)數(shù)據(jù)庫的自增主鍵模式為各業(yè)務(wù)實(shí)例生成唯一的 ID,再由業(yè)務(wù)服務(wù)器分配給各業(yè)務(wù)實(shí)例。
[0003] 由于互聯(lián)網(wǎng)環(huán)境下的龐大數(shù)據(jù)量給業(yè)務(wù)數(shù)據(jù)庫帶來巨大的訪問壓力,因此,業(yè)務(wù) 數(shù)據(jù)庫通常都會(huì)做分庫或分表處理。分庫的好處是易于對業(yè)務(wù)數(shù)據(jù)庫進(jìn)行橫向(水平)擴(kuò) 容。例如,將1個(gè)業(yè)務(wù)數(shù)據(jù)庫水平擴(kuò)容成4個(gè)分庫(每個(gè)分庫可W部署在單獨(dú)的服務(wù)器上)。 送樣,訪問壓力可W分散在4個(gè)分庫上,每個(gè)分庫的訪問壓力就會(huì)變小,性能也就隨之提高 了。
[0004] 在業(yè)務(wù)數(shù)據(jù)庫被分庫的情況下,現(xiàn)有技術(shù)中又提出了一種采用集中式的ID生成 器為各業(yè)務(wù)實(shí)例生成唯一的ID的方法。在該實(shí)現(xiàn)方法中,請參閱圖1所示,多個(gè)業(yè)務(wù)服務(wù) 器(每個(gè)業(yè)務(wù)服務(wù)器都可W處理多種不同的業(yè)務(wù)類型,如,一個(gè)業(yè)務(wù)服務(wù)器可W處理付款 業(yè)務(wù)和轉(zhuǎn)賬業(yè)務(wù)兩種業(yè)務(wù)類型)共用同一個(gè)集中式的ID生成器。針對任意一個(gè)業(yè)務(wù)服務(wù) 器(假設(shè)為業(yè)務(wù)服務(wù)器1),集中式的ID生成器會(huì)根據(jù)該業(yè)務(wù)服務(wù)器1的請求,為該業(yè)務(wù)服 務(wù)器1上的某一個(gè)業(yè)務(wù)對象(假設(shè)為業(yè)務(wù)對象A)生成一個(gè)唯一的ID區(qū)間(即,ID區(qū)間中 的每一個(gè)ID都是唯一的),W便當(dāng)該業(yè)務(wù)服務(wù)器1每創(chuàng)建該業(yè)務(wù)對象A的一個(gè)業(yè)務(wù)實(shí)例后, 集中式的ID生成器就可W從該ID區(qū)間中取出一個(gè)ID,供該業(yè)務(wù)服務(wù)器1分配給該業(yè)務(wù)實(shí) 例。當(dāng)ID區(qū)間中的所有ID全部用完后,還可W再重復(fù)執(zhí)行上述流程,W保證該業(yè)務(wù)服務(wù)器 A可W使用新的ID區(qū)間。在上述過程中,集中式的ID生成器依賴于分布式鎖的方式保證為 各個(gè)業(yè)務(wù)服務(wù)器上的各個(gè)業(yè)務(wù)對象生成的ID區(qū)間都是唯一的。
[0005] 但是,在實(shí)現(xiàn)本申請的過程中,本申請的發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問 題;由于多個(gè)業(yè)務(wù)服務(wù)器共用同一個(gè)集中式的ID生成器,因此,一旦該集中式的ID生成器 因出現(xiàn)故障而不可用,并且,在該集中式的ID生成器恢復(fù)正常之前,各業(yè)務(wù)服務(wù)器獲取的 ID區(qū)間中的ID也全部用完,就會(huì)導(dǎo)致所有業(yè)務(wù)服務(wù)器無法為新創(chuàng)建的業(yè)務(wù)實(shí)例分配ID,進(jìn) 而無法完成業(yè)務(wù)處理。因此,所有業(yè)務(wù)服務(wù)器上的所有業(yè)務(wù)都會(huì)因該集中式的ID生成器出 現(xiàn)故障而同時(shí)受到影響。

【發(fā)明內(nèi)容】

[0006] 為了解決上述技術(shù)問題,本申請實(shí)施例提供了業(yè)務(wù)標(biāo)識生成方法和裝置,W在減 小ID生成器的故障對業(yè)務(wù)的影響范圍的同時(shí),還要保證生成的業(yè)務(wù)標(biāo)識是唯一的。
[0007] 本申請實(shí)施例公開了如下技術(shù)方案:
[0008] -種業(yè)務(wù)標(biāo)識生成方法,為多個(gè)業(yè)務(wù)服務(wù)器中的至少一個(gè)分配一個(gè)只屬于所述業(yè) 務(wù)服務(wù)器的業(yè)務(wù)標(biāo)識生成器,所述方法包括:
[0009] a)、業(yè)務(wù)標(biāo)識生成器接收請求獲取業(yè)務(wù)標(biāo)識的消息,所述消息攜帶有業(yè)務(wù)服務(wù)器 標(biāo)識和業(yè)務(wù)對象標(biāo)識;
[0010] b)、響應(yīng)于所述消息,業(yè)務(wù)標(biāo)識生成器查詢所述業(yè)務(wù)對象標(biāo)識指示的目標(biāo)業(yè)務(wù)對 象在當(dāng)前的業(yè)務(wù)標(biāo)識最大值,并對所述業(yè)務(wù)服務(wù)器標(biāo)識進(jìn)行哈希計(jì)算,利用哈希計(jì)算值對 預(yù)設(shè)闊值進(jìn)行取模計(jì)算,所述預(yù)設(shè)闊值大于或等于分布式系統(tǒng)中的業(yè)務(wù)服務(wù)器的總個(gè)數(shù);
[0011] C)、業(yè)務(wù)標(biāo)識生成器按照StartlDl = MaxID+MX St巧計(jì)算初始的業(yè)務(wù)標(biāo)識區(qū)間的 起始值,并按照化dIDl = StartIDl+St巧計(jì)算初始的業(yè)務(wù)標(biāo)識區(qū)間的終止值,最終為所述 目標(biāo)業(yè)務(wù)對象生成初始的業(yè)務(wù)標(biāo)識區(qū)間,其中,StartlDl為初始的業(yè)務(wù)標(biāo)識區(qū)間的起始值, 化dIDl為初始的業(yè)務(wù)標(biāo)識區(qū)間的終止值,MaxID為業(yè)務(wù)標(biāo)識最大值,Μ為取模計(jì)算值,Step 為預(yù)設(shè)步長值。
[0012] 優(yōu)選的,所述方法還包括:
[0013] d)、在生成了初始的業(yè)務(wù)標(biāo)識區(qū)間之后,業(yè)務(wù)標(biāo)識生成器按照StartID2 = MaxID+AXSt巧計(jì)算非初始的業(yè)務(wù)標(biāo)識區(qū)間的起始值,并按照化dID2 = Sta;rtID2+St巧計(jì) 算非初始的業(yè)務(wù)標(biāo)識區(qū)間的終止值,最終為所述目標(biāo)業(yè)務(wù)對象生成非初始的業(yè)務(wù)標(biāo)識區(qū) 間,其中,StartID2為非初始的業(yè)務(wù)標(biāo)識區(qū)間的始值,化dID2為非初始的業(yè)務(wù)標(biāo)識區(qū)間的 終止值,MaxID為業(yè)務(wù)標(biāo)識最大值,A為預(yù)設(shè)闊值,Step為預(yù)設(shè)步長值。
[0014] 優(yōu)選的,所述方法還包括:
[0015] e)、業(yè)務(wù)標(biāo)識生成器將為所述目標(biāo)業(yè)務(wù)對象生成的業(yè)務(wù)標(biāo)識區(qū)間保存在所屬的業(yè) 務(wù)服務(wù)器的內(nèi)存中。
[0016] 優(yōu)選的,在步驟b)之前,所述方法還包括:
[0017] bO)業(yè)務(wù)標(biāo)識生成器判斷在所屬的業(yè)務(wù)服務(wù)器的內(nèi)存中是否保存有為所述目標(biāo)業(yè) 務(wù)對象生成的業(yè)務(wù)標(biāo)識區(qū)間,且所述業(yè)務(wù)標(biāo)識區(qū)間存在未使用的業(yè)務(wù)標(biāo)識;
[0018] 則所述步驟b)具體為,如果否,業(yè)務(wù)標(biāo)識生成器查詢所述業(yè)務(wù)對象標(biāo)識指示的目 標(biāo)業(yè)務(wù)對象在當(dāng)前的業(yè)務(wù)標(biāo)識最大值,并對所述業(yè)務(wù)服務(wù)器標(biāo)識進(jìn)行哈希計(jì)算,利用哈希 計(jì)算值對預(yù)設(shè)闊值進(jìn)行取模計(jì)算,所述預(yù)設(shè)闊值大于或等于業(yè)務(wù)服務(wù)器的總個(gè)數(shù)。
[0019] 優(yōu)選的,所述方法還包括:
[0020] f)、如果是,業(yè)務(wù)標(biāo)識生成器從所述業(yè)務(wù)標(biāo)識區(qū)間中讀取業(yè)務(wù)標(biāo)識。
[0021] 優(yōu)選的,所述方法還包括:
[0022] g)、業(yè)務(wù)標(biāo)識生成器利用所述業(yè)務(wù)標(biāo)識區(qū)間的終止值更新所述目標(biāo)業(yè)務(wù)對象在當(dāng) 前的業(yè)務(wù)標(biāo)識最大值。
[0023] 優(yōu)選的,所述業(yè)務(wù)服務(wù)器標(biāo)識為業(yè)務(wù)服務(wù)器所在機(jī)房的機(jī)房名與業(yè)務(wù)服務(wù)器的IP 地址的組合。
[0024] -種業(yè)務(wù)標(biāo)識生成裝置,為多個(gè)業(yè)務(wù)服務(wù)器中的至少一個(gè)分配一個(gè)只屬于所述業(yè) 務(wù)服務(wù)器的業(yè)務(wù)標(biāo)識生成裝置,所述裝置包括:
[0025] 接收單元,用于接收請求獲取業(yè)務(wù)標(biāo)識的消息,所述消息攜帶有業(yè)務(wù)服務(wù)器標(biāo)識 和業(yè)務(wù)對象標(biāo)識;
[0026] 查詢計(jì)算單元,用于響應(yīng)于所述消息,查詢所述業(yè)務(wù)對象標(biāo)識指示的目標(biāo)業(yè)務(wù)對 象在當(dāng)前的業(yè)務(wù)標(biāo)識最大值,并對所述業(yè)務(wù)服務(wù)器標(biāo)識進(jìn)行哈希計(jì)算,利用哈希計(jì)算值對 預(yù)設(shè)闊值進(jìn)行取模計(jì)算,所述預(yù)設(shè)闊值大于或等于分布式系統(tǒng)中的業(yè)務(wù)服務(wù)器的總個(gè)數(shù);
[0027] 第一生成單元,用于按照StartIDl = MaxIDl+MXSt巧計(jì)算初始的業(yè)務(wù)標(biāo)識區(qū)間 的起始值,并按照化dIDl = StartlDl+Step計(jì)算初始的業(yè)務(wù)標(biāo)識區(qū)間的終止值,最終為所 述目標(biāo)業(yè)務(wù)對象生成初始的業(yè)務(wù)標(biāo)識區(qū)間,其中,StartlDl為初始的業(yè)務(wù)標(biāo)識區(qū)間的起始 值,化dIDl為初始的業(yè)務(wù)標(biāo)識區(qū)間的終止值,MaxID為業(yè)務(wù)標(biāo)識最大值,Μ為取模計(jì)算值, St巧為預(yù)設(shè)步長值。
[0028] 優(yōu)選的,所述裝置還包括:
[0029] 第二生成單元,用于在所述第一生成單元生成了初始的業(yè)務(wù)標(biāo)識區(qū)間之后, StartIDS = MaxID+A X St巧計(jì)算非初始的業(yè)務(wù)標(biāo)識區(qū)間的起始值,并按照化dID2 = StartID2+Step計(jì)算非初始的業(yè)務(wù)標(biāo)識區(qū)間的終止值,最終為所述目標(biāo)業(yè)務(wù)對象生成非初 始的業(yè)務(wù)標(biāo)識區(qū)間,其中,StartID2為非初始的業(yè)務(wù)標(biāo)識區(qū)間的始值,化dID2為非初始的 業(yè)務(wù)標(biāo)識區(qū)間的終止值,MaxID為業(yè)務(wù)標(biāo)識最大值,A為預(yù)設(shè)闊值,St巧為預(yù)設(shè)步長值。
[0030] 優(yōu)選的,所述裝置還包括:
[0031] 保存單元,用于將為所述目標(biāo)業(yè)務(wù)對象生成的業(yè)務(wù)標(biāo)識區(qū)間保存在所屬的業(yè)務(wù)服 務(wù)器的內(nèi)存中。
[0032] 優(yōu)選的,所述裝置還包括:
[0033] 判斷單元,用于在啟動(dòng)所述查詢計(jì)算單元之前,判斷在所屬的業(yè)務(wù)服務(wù)器的內(nèi)存 中是否保存有為所述目標(biāo)業(yè)務(wù)對象生成的業(yè)務(wù)標(biāo)識區(qū)間,且所述業(yè)務(wù)標(biāo)識區(qū)間存在未使用 的業(yè)務(wù)標(biāo)識;
[0034] 所述查詢計(jì)算單元具體用于,如果所述判斷單元的判斷結(jié)果為否,查詢所述業(yè)務(wù) 對象標(biāo)識指示的目標(biāo)業(yè)務(wù)對象在當(dāng)前的業(yè)務(wù)標(biāo)識最大值,并對所述業(yè)務(wù)服務(wù)器標(biāo)識進(jìn)行哈 希計(jì)算,利用哈希計(jì)算值對預(yù)設(shè)闊值進(jìn)行取模計(jì)算,所述預(yù)設(shè)闊值大于或等于業(yè)務(wù)服務(wù)器 的總個(gè)數(shù)。
[0035] 優(yōu)選的,所述裝置還包括:
[0036] 讀取單元,用于如果所述判斷單元的判斷結(jié)果為是,從所述業(yè)務(wù)標(biāo)識區(qū)間中讀取 業(yè)務(wù)標(biāo)識。
[0037] 優(yōu)選的,所述裝置還包括:
[0038] 標(biāo)識更新單元,用于利用所述業(yè)務(wù)標(biāo)識區(qū)間的終止值更新所述目標(biāo)業(yè)務(wù)對象在當(dāng) 前的業(yè)務(wù)標(biāo)識最大值。
[0039] 優(yōu)選的,所述業(yè)務(wù)服務(wù)器標(biāo)識為業(yè)務(wù)服務(wù)器所在機(jī)房的機(jī)房名與業(yè)務(wù)服務(wù)器的IP 地址的組合。
[0040] 由上述實(shí)施例可W看出,與現(xiàn)有技術(shù)相比,本申請的優(yōu)點(diǎn)在于:
[0041] 為多個(gè)業(yè)務(wù)服務(wù)器中的至少一個(gè)分配一個(gè)只屬于該業(yè)務(wù)服務(wù)器的業(yè)務(wù)標(biāo)識生成 器,也就是說,一個(gè)業(yè)務(wù)標(biāo)識生成器只為一個(gè)業(yè)務(wù)服務(wù)器提供生成業(yè)務(wù)標(biāo)識的服務(wù)。如果某 個(gè)業(yè)務(wù)標(biāo)識生成器因出現(xiàn)故障而不可用,只會(huì)導(dǎo)致該業(yè)務(wù)標(biāo)識生成器所屬的某一個(gè)業(yè)務(wù)服 務(wù)器無法為新創(chuàng)建的業(yè)務(wù)實(shí)例分配ID,進(jìn)而無法完成業(yè)務(wù)處理,而并不會(huì)影響到其它的業(yè) 務(wù)服務(wù)器的正常工作,顯然,可W減小局部業(yè)務(wù)標(biāo)識生成器的故障對全局業(yè)務(wù)的影響范圍。
[0042] 并且,每個(gè)業(yè)務(wù)標(biāo)識生成器基于所屬的業(yè)務(wù)服務(wù)器唯一的業(yè)務(wù)服務(wù)器標(biāo)識生成業(yè) 務(wù)標(biāo)識區(qū)間,保證生成的業(yè)務(wù)標(biāo)識區(qū)間是唯一的,而不會(huì)與其它業(yè)務(wù)標(biāo)識生成器生成的業(yè)
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
新兴县| 青龙| 当涂县| 平昌县| 保定市| 萍乡市| 广河县| 涡阳县| 宝丰县| 台安县| 大名县| 榆林市| 建水县| 大田县| 平凉市| 建宁县| 凤台县| 瑞丽市| 东方市| 方城县| 安顺市| 兴化市| 湖南省| 龙川县| 洱源县| 临洮县| 睢宁县| 南漳县| 报价| 明光市| 沙洋县| 乌拉特后旗| 平利县| 大石桥市| 桃江县| 浙江省| 雷波县| 怀远县| 峨山| 施甸县| 政和县|