国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種在分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng)的制作方法

      文檔序號:6491237閱讀:264來源:國知局
      一種在分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種在分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng),唯一鍵分配裝置接收分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求;唯一鍵分配裝置為節(jié)點(diǎn)分配唯一鍵;唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特;分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)的分布式標(biāo)識為唯一值。本發(fā)明的分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng),生成包括節(jié)點(diǎn)的分布式標(biāo)識的長整型唯一鍵,適應(yīng)大規(guī)模分布式系統(tǒng);唯一鍵的生成與外部環(huán)境無關(guān),可以適應(yīng)慢速、高延遲網(wǎng)絡(luò)環(huán)境,并且,生成的鍵值采用64位長整型方式,存儲開銷小,唯一鍵大體上基于時(shí)序分布,可以保證鍵值的單向遞增,可以進(jìn)行比較、范圍、排序處理。
      【專利說明】—種在分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及分布式系統(tǒng)【技術(shù)領(lǐng)域】,尤其涉及一種在分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng)。
      【背景技術(shù)】
      [0002]唯一鍵生成方法被廣泛應(yīng)該于各種WEB系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、應(yīng)用系統(tǒng),為各種系統(tǒng)的正常運(yùn)行提供了保障;在分布式系統(tǒng)出現(xiàn)后,又出現(xiàn)了各種分布式唯一鍵生成方法。唯一鍵生成器已經(jīng)成為所有系統(tǒng)中都不可或缺的一部分。
      [0003]目前,唯一鍵生成方法中的集中唯一鍵生成方法,存在如下問題:
      [0004]I)存在單點(diǎn)故障。
      [0005]2)無法適應(yīng)大規(guī)模分布式系統(tǒng)。
      [0006]3)在慢速、高延遲網(wǎng)絡(luò)環(huán)境下,可能會導(dǎo)致嚴(yán)重問題。
      [0007]而分布式唯一鍵生成方法,包括:UUID等。這種方式存在如下缺點(diǎn):
      [0008]I)生成的鍵值采用文本方式,存儲開銷大。
      [0009]2)生成的鍵值隨機(jī)分布,不便于基于此鍵值進(jìn)行比較、范圍、排序處理。
      [0010]考慮到傳統(tǒng)方法的上述弊端,需要一種新的分布式唯一鍵生成方法,以解決分布式系統(tǒng)中唯一鍵生成的問題。

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

      [0011]有鑒于此,本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種在分布式系統(tǒng)中生成唯一鍵的方法,生成包括節(jié)點(diǎn)的分布式標(biāo)識的長整型唯一鍵。
      [0012]一種在分布式系統(tǒng)中生成唯一鍵的方法,包括:唯一鍵分配裝置接收分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求;所述唯一鍵分配裝置為所述節(jié)點(diǎn)分配唯一鍵;所述唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識所述節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特;其中,分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)的分布式標(biāo)識為唯一值。
      [0013]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,所述唯一鍵的最高位為符號位,所述符號位的值恒為O。
      [0014]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,所述唯一鍵還包括:標(biāo)識時(shí)間戳的多個(gè)比特;其中,所述時(shí)間戳為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳。
      [0015]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,所述唯一鍵還包括:標(biāo)識序列號的多個(gè)比特;其中,所述序列號采用單調(diào)遞增的正整數(shù)。
      [0016]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,所述唯一鍵為具有64個(gè)比特的長整型,以O(shè)至63標(biāo)識所述唯一鍵的每一位;最高第O位為符號位,值恒為O ;第I至32位標(biāo)識時(shí)間戳;所述時(shí)間戳的單位為秒,為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;第33位至50位標(biāo)識當(dāng)前Is時(shí)間內(nèi)序列器的值,所述序列器每秒進(jìn)行更新,采用單調(diào)遞增序列;第51位至63位標(biāo)識所述節(jié)點(diǎn)分布式標(biāo)識。[0017]本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種在分布式系統(tǒng)中生成唯一鍵的裝置,生成包括節(jié)點(diǎn)的分布式標(biāo)識的長整型唯一鍵。
      [0018]一種分布式系統(tǒng)的唯一鍵生成裝置,包括:分配請求接收單元,用于接收到分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求;分布式標(biāo)識生成單元,為分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)生成唯一的分布式標(biāo)識;唯一鍵分配單元,用于為所述節(jié)點(diǎn)分配唯一鍵;所述唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識所述節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特。
      [0019]根據(jù)本發(fā)明的裝置的一個(gè)實(shí)施例,進(jìn)一步的,所述唯一鍵最高位為符號位,所述符號位的值恒設(shè)定為O。
      [0020]根據(jù)本發(fā)明的裝置的一個(gè)實(shí)施例,進(jìn)一步的,還包括時(shí)間戳生成單元,用于生成標(biāo)識時(shí)間戳的多個(gè)比特;其中,所述時(shí)間戳為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;所述唯一鍵包括所述標(biāo)識時(shí)間戳的多個(gè)比特。
      [0021]根據(jù)本發(fā)明的裝置的一個(gè)實(shí)施例,進(jìn)一步的,還包括序列號生成單元,用于生成標(biāo)識序列號的多個(gè)比特;其中,所述序列號采用單調(diào)遞增的正整數(shù),所述唯一鍵包括所述標(biāo)識序列號的多個(gè)比特。
      [0022]根據(jù)本發(fā)明的裝置的一個(gè)實(shí)施例,進(jìn)一步的,所述唯一鍵為具有64個(gè)比特的長整型,以O(shè)至63標(biāo)識所述唯一鍵的每一位;所述最高位設(shè)置單元將最高第O位的值恒設(shè)定為O ;時(shí)間戳生成單元生成16比特的時(shí)間戳;所述唯一鍵的第I至32位標(biāo)識時(shí)間戳;所述時(shí)間戳的單位為秒,為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;所述序列號生成單元生成18比特的序列號;所述唯一鍵的第33位至50位標(biāo)識序列號;所述序列號生成單元每秒都進(jìn)行更新,所生成的序列號采用單調(diào)遞增序列;分布式標(biāo)識生成單元生成13比特的節(jié)點(diǎn)分布式標(biāo)識;所述唯一鍵的第51位至63位標(biāo)識所述節(jié)點(diǎn)分布式標(biāo)識。
      [0023]一種分布式系統(tǒng),包括如上所述的分布式系統(tǒng)的唯一鍵生成裝置。
      [0024]本發(fā)明的分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng),生成包括節(jié)點(diǎn)的分布式標(biāo)識的長整型唯一鍵,適應(yīng)大規(guī)模分布式系統(tǒng);唯一鍵的生成與外部環(huán)境無關(guān),可以適應(yīng)慢速、高延遲網(wǎng)絡(luò)環(huán)境,并且,生成的鍵值采用64位長整型方式,存儲開銷小,唯一鍵大體上基于時(shí)序分布,可以保證鍵值的單向遞增,可以進(jìn)行比較、范圍、排序處理。
      【專利附圖】

      【附圖說明】
      [0025]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0026]圖1為根據(jù)本發(fā)明的在分布式系統(tǒng)中生成唯一鍵的方法的一個(gè)實(shí)施例的流程圖;
      [0027]圖2為根據(jù)本發(fā)明的唯一鍵的一個(gè)實(shí)施例的示意圖;
      [0028]圖3為根據(jù)本發(fā)明的分布式系統(tǒng)的唯一鍵生成裝置的一個(gè)實(shí)施例的示意圖;
      [0029]圖4為根據(jù)本發(fā)明的分布式系統(tǒng)的唯一鍵生成裝置的另一個(gè)實(shí)施例的示意圖。
      【具體實(shí)施方式】
      [0030]下面參照附圖對本發(fā)明進(jìn)行更全面的描述,其中說明本發(fā)明的示例性實(shí)施例。下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。下面結(jié)合各個(gè)圖和實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行多方面的描述。
      [0031]在分布式系統(tǒng)中,為了得到唯一鍵,一般有兩種方案:
      [0032]I)在中心節(jié)點(diǎn)(非分布的)進(jìn)行唯一鍵生成,每個(gè)分布式節(jié)點(diǎn)向中心節(jié)點(diǎn)請求唯一鍵或者唯一鍵范圍。
      [0033]2)每個(gè)分布式節(jié)點(diǎn)獨(dú)立的生成唯一鍵,這個(gè)要求方法保證多個(gè)節(jié)點(diǎn)上生成的鍵互
      不重復(fù)。
      [0034]第一種方案,也叫做集中唯一鍵生成方法,包括:序列器方式、隨機(jī)數(shù)方式等。大多數(shù)據(jù)庫系統(tǒng)都內(nèi)置支持此方法,如Oracle的SEQ序列器、PostgreSQL的SERIAL type、MySQL的自增長主鍵等。這種方式存在如下缺點(diǎn):
      [0035]I)存在單點(diǎn)故障。
      [0036]2)無法適應(yīng)大規(guī)模分布式系統(tǒng)。
      [0037]3)在慢速、高延遲網(wǎng)絡(luò)環(huán)境下,可能會導(dǎo)致嚴(yán)重問題。
      [0038]第二種方案,也叫做分布式唯一鍵生成方法,包括:UUID等。這種方式存在如下缺
      占-
      ^ \\\.[0039]I )生成的鍵值采用文本方式,存儲開銷大。
      [0040]2)生成的鍵值隨機(jī)分布,不便于基于此鍵值進(jìn)行比較、范圍、排序處理。
      [0041]考慮到傳統(tǒng)方法的上述弊端,本發(fā)明提出了一種新穎的分布式唯一鍵生成方法,以解決分布式系統(tǒng)中唯一鍵生成的問題。
      [0042]圖1為根據(jù)本發(fā)明的在分布式系統(tǒng)中生成唯一鍵的方法的一個(gè)實(shí)施例的流程圖。如圖1所示:
      [0043]步驟102,唯一鍵分配裝置接收分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求;
      [0044]步驟103,唯一鍵分配裝置為節(jié)點(diǎn)分配唯一鍵;唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特;其中,分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)的分布式標(biāo)識為
      唯一值。
      [0045]根據(jù)本發(fā)明的一個(gè)實(shí)施例,唯一鍵的最高位為符號位,符號位的值恒為O。唯一鍵還包括:標(biāo)識時(shí)間戳的多個(gè)比特。時(shí)間戳為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳。唯一鍵還包括標(biāo)識序列號的多個(gè)比特;序列號采用單調(diào)遞增的正整數(shù)。
      [0046]根據(jù)本發(fā)明的一個(gè)實(shí)施例,唯一鍵為64位長整型,64個(gè)比特位(以O(shè)至63標(biāo)識每一位)拆分為4個(gè)部分。
      [0047]第一部分:最高O位為符號位,值恒為0,防止最終的鍵值出現(xiàn)負(fù)值。
      [0048]第二部分:從I至32位為時(shí)間戳位(位數(shù)長度定義為b2,這里是32),時(shí)間單位為秒。這部分的值取為:當(dāng)前時(shí)間減去一個(gè)初始的時(shí)間戳INIT_TS。最大的值范圍為(2~32 -1)秒,約為136年。
      [0049]第三部分:從33位至50位為序列號位,共18位,采用單調(diào)遞增序列。這部分的值取為當(dāng)前Is時(shí)間內(nèi),序列器的值。最大的值范圍為(2~18 — 1),約為26萬。我們定義此序列器為S。[0050]第四部分:從51位至63位為分布式標(biāo)識位,共13位,每個(gè)分布式節(jié)點(diǎn)中,這個(gè)部分的值保持不變,在整個(gè)分布式系統(tǒng)中,每個(gè)節(jié)點(diǎn)的分布式標(biāo)識保證唯一。最大的值范圍為(2~13 - 1)=8191。
      [0051]本發(fā)明的方法的唯一鍵是基于時(shí)序的。此唯一鍵生成器需要進(jìn)行初始化,初始化的時(shí)候需要提供分布式節(jié)點(diǎn)的唯一標(biāo)識。
      [0052]在任何一個(gè)時(shí)間點(diǎn),取得從INIT_TS至當(dāng)前事件的秒數(shù),得到第二個(gè)部分。在這個(gè)時(shí)間點(diǎn),遞增S并取當(dāng)前值,此操作為原子操作。原子操作(atomic operation)是指不會被線程調(diào)度機(jī)制打斷的操作;這種操作一旦開始,就一直運(yùn)行倒結(jié)束,中間不會切換到另一個(gè)線程。隨著事件的推移,當(dāng)系統(tǒng)定時(shí)器進(jìn)入下一秒時(shí),需要重置序列器S。這個(gè)操作必須保證是原子的。最后根據(jù)初始化得到的節(jié)點(diǎn)唯一標(biāo)示填充第四部分。這樣就可以得到一個(gè)完整的分布式唯一鍵了。
      [0053]只要唯一鍵值最大有效時(shí)間不超過136年,第二部分保證了時(shí)序上的唯一性(秒級別精度);只要最大分布式節(jié)點(diǎn)數(shù)量低于8191,第四部分就保證了分布上的唯一性;只要單節(jié)點(diǎn)上最大鍵生成速度低于26萬每秒,第三部分就保證了單機(jī)內(nèi)部的唯一性。綜合上面三個(gè)部分,最終可以保證生成的每個(gè)鍵,在整個(gè)分布式系統(tǒng)中是唯一的、不重復(fù)的。
      [0054]根據(jù)以上的鍵生成方式,可以看到此唯一鍵生成器是線程安全的,而且采用的是無鎖方式實(shí)現(xiàn)的,除了定時(shí)執(zhí)行的序列器S的重置操作可能需要通過鎖方式實(shí)現(xiàn)。
      [0055]可以靈活調(diào)整形成唯一鍵的各個(gè)部分的長度,從而滿足具體環(huán)境的需求。另外,根據(jù)系統(tǒng)部署的時(shí)間已經(jīng)是否出現(xiàn)數(shù)據(jù)回溯,可以靈活的定義初始的時(shí)間戳INIT_TS。
      [0056]根據(jù)本發(fā)明的一個(gè)實(shí)施例,本發(fā)明可用于各種分布式應(yīng)用環(huán)境中。初始化,上層應(yīng)用必須提供一個(gè)在整個(gè)分布式環(huán)境中唯一的節(jié)點(diǎn)標(biāo)識,標(biāo)識的范圍不大于第四部分的最大值范圍。初始化完成后,必須為此生成器提供一個(gè)定時(shí)調(diào)度的進(jìn)程,每秒定時(shí)完成一次計(jì)數(shù)器S的重置處理。完成以上初始化之后,上次應(yīng)用就可以線程安全地、無鎖地調(diào)用計(jì)數(shù)器生成唯一鍵。唯一鍵保證在全系統(tǒng)的唯一性。
      [0057]圖2為根據(jù)本發(fā)明的唯一鍵的一個(gè)實(shí)施例的不意圖。如圖2所不:唯一鍵為具有64個(gè)比特的長整型,以O(shè)至63標(biāo)識唯一鍵的每一位;第I部分為最高第O位為符號位,值恒為O ;第2部分為第I至32位標(biāo)識時(shí)間戳;時(shí)間戳的單位為秒,為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;第3部分為第33位至50位,標(biāo)識當(dāng)前Is時(shí)間內(nèi)序列器的值,序列器每秒進(jìn)行更新,采用單調(diào)遞增序列;第4部分為第51位至63位,標(biāo)識節(jié)點(diǎn)分布式標(biāo)識。
      [0058]圖3為根據(jù)本發(fā)明的分布式系統(tǒng)的唯一鍵生成裝置的一個(gè)實(shí)施例的示意圖。如圖3所示,唯一鍵生成裝置31包括:分配請求接收單元311、分布式標(biāo)識生成單元312和唯一鍵分配單元313。
      [0059]分配請求接收單元311接收到分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求;分布式標(biāo)識生成單元312為分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)生成唯一的分布式標(biāo)識。分布式標(biāo)識生成單元312也可以從分布式系統(tǒng)中的一個(gè)設(shè)備中獲取每個(gè)節(jié)點(diǎn)的唯一的分布式標(biāo)識。
      [0060]唯一鍵分配單元313為節(jié)點(diǎn)分配唯一鍵。唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特。唯一鍵最高位為符號位,符號位的值恒設(shè)定為O。
      [0061]圖4為根據(jù)本發(fā)明的分布式系統(tǒng)的唯一鍵生成裝置的另一個(gè)實(shí)施例的示意圖。如圖4所示:唯一鍵生成裝置41包括:分配請求接收單元411、分布式標(biāo)識生成單元412、唯一鍵分配單元413、時(shí)間戳生成單元414和序列號生成單元415。時(shí)間戳生成單元414生成標(biāo)識時(shí)間戳的多個(gè)比特;其中,時(shí)間戳為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;唯一鍵包括標(biāo)識時(shí)間戳的多個(gè)比特。
      [0062]序列號生成單元413生成標(biāo)識序列號的多個(gè)比特;其中,序列號采用單調(diào)遞增的正整數(shù),唯一鍵包括標(biāo)識序列號的多個(gè)比特。
      [0063]根據(jù)本發(fā)明的一個(gè)實(shí)施例,唯一鍵為具有64個(gè)比特的長整型,以O(shè)至63標(biāo)識唯一鍵的每一位;最高位設(shè)置單元將最高第O位的值恒設(shè)定為O ;時(shí)間戳生成單元414生成16比特的時(shí)間戳;唯一鍵的第I至32位標(biāo)識時(shí)間戳;時(shí)間戳的單位為秒,為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;序列號生成單元415生成18比特的序列號;唯一鍵的第33位至50位標(biāo)識序列號;
      [0064]序列號生成單元415每秒都進(jìn)行更新,所生成的序列號采用單調(diào)遞增序列;分布式標(biāo)識生成單元412生成13比特的節(jié)點(diǎn)分布式標(biāo)識;唯一鍵的第51位至63位標(biāo)識節(jié)點(diǎn)分布式標(biāo)識。
      [0065]根據(jù)本發(fā)明的一個(gè)實(shí)施例,一種分布式系統(tǒng)包括上述的分布式系統(tǒng)的唯一鍵生成
      >J-U ρ?α裝直。
      [0066]本發(fā)明的分布式系統(tǒng)中生成唯一鍵的方法、裝置及系統(tǒng)具有如下優(yōu)點(diǎn):
      [0067]I)不存在單點(diǎn)故障。
      [0068]2)可以適應(yīng)大規(guī)模分布式系統(tǒng)。
      `[0069]3)唯一鍵的生成與外部環(huán)境無關(guān),可以適應(yīng)慢速、高延遲網(wǎng)絡(luò)環(huán)境。
      [0070]4)生成的鍵值采用64位長整型(LONG)方式,存儲開銷小。
      [0071]5)生成的鍵值大體上基于時(shí)序分布,總體上可以保證鍵值的單向遞增,可以進(jìn)行比較、范圍、排序處理。
      [0072]可能以許多方式來實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。用于方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
      [0073]本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。
      【權(quán)利要求】
      1.一種在分布式系統(tǒng)中生成唯一鍵的方法,其特征在于,包括: 唯一鍵分配裝置接收分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求; 所述唯一鍵分配裝置為所述節(jié)點(diǎn)分配唯一鍵;所述唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識所述節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特; 其中,分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)的分布式標(biāo)識為唯一值。
      2.如權(quán)利要求1所述的方法,其特征在于: 所述唯一鍵的最高位為符號位,所述符號位的值恒為O。
      3.如權(quán)利要求2所述的方法,其特征在于: 所述唯一鍵還包括:標(biāo)識時(shí)間戳的多個(gè)比特; 其中,所述時(shí)間戳為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳。
      4.如權(quán)利要求3所述的方法,其特征在于: 所述唯一鍵還包括:標(biāo)識序列號的多個(gè)比特; 其中,所述序列號采用單調(diào)遞增的正整數(shù)。
      5.如權(quán)利要求4所述的方法,其特征在于: 所述唯一鍵為具有64個(gè)比特的長整型,以O(shè)至63標(biāo)識所述唯一鍵的每一位; 最高第O位為符號位,值恒為O;` 第I至32位標(biāo)識時(shí)間戳;所述時(shí)間戳的單位為秒,為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳; 第33位至50位標(biāo)識當(dāng)前Is時(shí)間內(nèi)序列器的值,所述序列器每秒進(jìn)行更新,采用單調(diào)遞增序列; 第51位至63位標(biāo)識所述節(jié)點(diǎn)分布式標(biāo)識。
      6.—種分布式系統(tǒng)的唯一鍵生成裝置,其特征在于,包括: 分配請求接收單元,用于接收到分布式系統(tǒng)中的節(jié)點(diǎn)請求分配唯一健的請求; 分布式標(biāo)識生成單元,為分布式系統(tǒng)中的每個(gè)節(jié)點(diǎn)生成唯一的分布式標(biāo)識; 唯一鍵分配單元,用于為所述節(jié)點(diǎn)分配唯一鍵;所述唯一鍵為長整型的數(shù)據(jù)類型,并且包括標(biāo)識所述節(jié)點(diǎn)的分布式標(biāo)識的多個(gè)比特。
      7.如權(quán)利要求6所述的唯一鍵生成裝置,其特征在于: 所述唯一鍵最高位為符號位,所述符號位的值恒設(shè)定為O。
      8.如權(quán)利要求7所述的唯一鍵生成裝置,其特征在于: 還包括時(shí)間戳生成單元,用于生成標(biāo)識時(shí)間戳的多個(gè)比特; 其中,所述時(shí)間戳為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳;所述唯一鍵包括所述標(biāo)識時(shí)間戳的多個(gè)比特。
      9.如權(quán)利要求8所述的唯一鍵生成裝置,其特征在于: 還包括序列號生成單元,用于生成標(biāo)識序列號的多個(gè)比特; 其中,所述序列號采用單調(diào)遞增的正整數(shù),所述唯一鍵包括所述標(biāo)識序列號的多個(gè)比特。
      10.如權(quán)利要求9所述的唯一鍵生成裝置,其特征在于: 所述唯一鍵為具有64個(gè)比特的長整型,以O(shè)至63標(biāo)識所述唯一鍵的每一位; 所述最高位設(shè)置單元將最高第O位的值恒設(shè)定為O ;時(shí)間戳生成單元生成16比特的時(shí)間戳;所述唯一鍵的第I至32位標(biāo)識時(shí)間戳;所述時(shí)間戳的單位為秒,為當(dāng)前的時(shí)間減去一個(gè)初始設(shè)置的時(shí)間戳; 所述序列號生成單元生成18比特的序列號;所述唯一鍵的第33位至50位標(biāo)識序列號;所述序列號生成單元每秒都進(jìn)行更新,所生成的序列號采用單調(diào)遞增序列; 分布式標(biāo)識生成單元生成13比特的節(jié)點(diǎn)分布式標(biāo)識; 所述唯一鍵的第51位至63位標(biāo)識所述節(jié)點(diǎn)分布式標(biāo)識。
      11.一種分布式系統(tǒng),其特征在于: 包括如權(quán)利要 求6至10任意一項(xiàng)所述的分布式系統(tǒng)的唯一鍵生成裝置。
      【文檔編號】G06F17/30GK103823810SQ201210467049
      【公開日】2014年5月28日 申請日期:2012年11月19日 優(yōu)先權(quán)日:2012年11月19日
      【發(fā)明者】章軍, 趙洪波, 唐維, 李文宇, 田朝文, 賈海燕, 馮曉東, 張鑒, 趙敬謙, 常力元, 俞韶楨 申請人:中國電信股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1