国产精品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>

      分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)、方法和裝置的制造方法_2

      文檔序號(hào):9754825閱讀:來(lái)源:國(guó)知局
      slot)可以通過(guò)哈希函數(shù)將特定的鍵值信息映射到特定的數(shù)據(jù)信息,這可以保證鍵值信息和數(shù)據(jù)信息之間一一對(duì)應(yīng)的關(guān)系。例如,可以將鍵值空間分割為16384個(gè)哈希槽,而每一個(gè)上述數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103可以包括一部分上述哈希槽,并且使得每一個(gè)上述數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的哈希槽數(shù)量相等。通常,可以使用鍵的CRC16編碼對(duì)16384取模來(lái)計(jì)算一個(gè)指定鍵值信息所屬的哈希槽。并且,這里的相等并非指各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的哈希槽的個(gè)數(shù)完全一致,而是在一定程度上地相等,例如,如果上述集群是由3個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103構(gòu)成,那么各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的哈希槽可以為分別為5500、5500、5384個(gè);又如果上述集群是由1000個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103構(gòu)成,那么各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的哈希槽可以為16或17個(gè)。
      [0034]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,圖1中數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的數(shù)目?jī)H僅是示例性的。事實(shí)上,根據(jù)需要該分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)100可以包括η個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103,其中,η為小于16385的自然數(shù)。進(jìn)一步的,根據(jù)實(shí)際的需要還可以動(dòng)態(tài)調(diào)整(例如,增加或減少)系統(tǒng)中數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的數(shù)目。
      [0035]在本實(shí)施例中,上述中心管理節(jié)點(diǎn)104用于存儲(chǔ)記錄信息,其中,上述記錄信息包括各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103所構(gòu)成的集群的網(wǎng)絡(luò)拓?fù)潢P(guān)系、哈希槽在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的分布情況以及各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量。
      [0036]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述中心管理節(jié)點(diǎn)104與各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103連接,以獲取各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103所構(gòu)成的集群的網(wǎng)絡(luò)拓?fù)潢P(guān)系、各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中哈希槽的分布情況、各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)最大負(fù)載量和當(dāng)前負(fù)載量,并存儲(chǔ)上述獲取的信息作為記錄信息。例如,網(wǎng)絡(luò)拓?fù)潢P(guān)系可以包括各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中上的主節(jié)點(diǎn)和從節(jié)點(diǎn)的關(guān)系、各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103之間的關(guān)系等。這種通過(guò)中心管理節(jié)點(diǎn)104獲取集群上述信息的方法與以集群中的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)相互通信獲取上述信息的方法相比,其通信成本更低,容災(zāi)能力更強(qiáng)。
      [0037]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,當(dāng)上述數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的數(shù)目發(fā)生改變時(shí),中心管理節(jié)點(diǎn)104中的記錄信息也會(huì)相應(yīng)地更新,以保證代理節(jié)點(diǎn)102可以實(shí)時(shí)的獲取各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的準(zhǔn)確的信息。
      [0038]在本實(shí)施例中,上述代理節(jié)點(diǎn)102用于接收客戶端101發(fā)送的待存儲(chǔ)數(shù)據(jù),根據(jù)上述中心管理節(jié)點(diǎn)104的記錄信息確定與上述待存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的哈希槽和數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103。
      [0039]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述代理節(jié)點(diǎn)102的數(shù)目?jī)H僅是示例性的,并且代理節(jié)點(diǎn)102可以分別與上述客戶端101、數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103和中心管理節(jié)點(diǎn)104連接。其中,上述客戶端101用于接收數(shù)據(jù)存儲(chǔ)的處理指令,并向代理節(jié)點(diǎn)102發(fā)送待存儲(chǔ)數(shù)據(jù)。該代理節(jié)點(diǎn)102獲取上述待存儲(chǔ)數(shù)據(jù)中的鍵值信息,之后可以使用鍵的CRC16編碼對(duì)16384取模來(lái)計(jì)算該鍵值信息所屬的哈希槽,而后從上述中心管理節(jié)點(diǎn)104獲取計(jì)算出的哈希槽和該哈希槽所在的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),最后存儲(chǔ)上述待存儲(chǔ)數(shù)據(jù)。
      [0040]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述代理節(jié)點(diǎn)102還可以用于根據(jù)上述中心管理節(jié)點(diǎn)104的記錄信息中的各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量,判斷各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量是否在預(yù)設(shè)的閾值范圍內(nèi)。若是,則保持?jǐn)?shù)據(jù)存儲(chǔ)節(jié)點(diǎn)數(shù)目不變,若否,則增加/移除數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),重新分配各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的哈希槽,并更新上述記錄信息。這里,上述代理節(jié)點(diǎn)102可以預(yù)先設(shè)置數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量的閾值范圍,之后代理節(jié)點(diǎn)102可以從上述中心處理節(jié)點(diǎn)104中獲取各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量,并將其與上述閾值范圍相比較,如果對(duì)比結(jié)果為各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量均在閾值范圍內(nèi),則可以保持?jǐn)?shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的數(shù)目不變,否則可以增加/移除數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103。當(dāng)增加/移除數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103時(shí),數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103所構(gòu)成的集群的網(wǎng)絡(luò)拓?fù)潢P(guān)系、哈希槽在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的分布情況以及各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的負(fù)載量均會(huì)發(fā)生改變,這時(shí)中心管理節(jié)點(diǎn)104可以根據(jù)上述改變更新其存儲(chǔ)的記錄信息。
      [0041]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述代理節(jié)點(diǎn)102還可以進(jìn)一步用于判斷是否存在負(fù)載量大于上述閾值范圍的最大值的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103;若是,則可以增加至少一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103;判斷是否存在負(fù)載量小于上述閾值范圍的最小值的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103;若是,則可以移除至少一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103。
      [0042]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,當(dāng)增加至少一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103時(shí),則可以將各個(gè)原數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的部分哈希槽轉(zhuǎn)移到新增加的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中,使得哈希槽在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中平均分配,其中,被轉(zhuǎn)移的哈希槽包括已經(jīng)存儲(chǔ)在其中的數(shù)據(jù)。例如,上述分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)中包括A、B、C三個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103,并且數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)A包含第I?第5500哈希槽,數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)B包含第5501?第11000哈希槽,數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)C包含第11001?第16384哈希槽,當(dāng)上述代理節(jié)點(diǎn)102判斷出存在數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的負(fù)載量大于閾值范圍的最大值時(shí),則可以增加一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)D,這時(shí)可以從原數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)A、B、C中分別取出一部分哈希槽到新增加的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)D中,以使數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)A、B、C、D中的哈希槽的數(shù)量大致相等。
      [0043]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,當(dāng)移除至少一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103時(shí),則可以將移除的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的哈希槽轉(zhuǎn)移到剩余的數(shù)據(jù)節(jié)點(diǎn)103中,使得哈希槽在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中平均分配,其中,被轉(zhuǎn)移的哈希槽包括已經(jīng)存儲(chǔ)在其中的數(shù)據(jù)。例如,分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)中包括A、B、C三個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103時(shí),并且數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)A包含第I?第5500哈希槽,數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)B包含第5501?第11000哈希槽,數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)C包含第11001?第16384哈希槽,當(dāng)上述代理節(jié)點(diǎn)102判斷出存在數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的負(fù)載量小于閾值范圍的最小值時(shí),則可以移除一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),假設(shè)移除的是數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)C,這時(shí)可以將數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)C中的哈希槽轉(zhuǎn)移到數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)A、B中,以使數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)A、B中的哈希槽的數(shù)量大致相等。
      [0044]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,本申請(qǐng)的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)100可以用于云計(jì)算環(huán)境。當(dāng)該分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)100用于云計(jì)算環(huán)境時(shí),則可以增加資源管理節(jié)點(diǎn)。該資源管理節(jié)點(diǎn)可以為上述系統(tǒng)分配云計(jì)算資源,而上述代理節(jié)點(diǎn)102可以進(jìn)一步用于從該資源管理節(jié)點(diǎn)獲取云計(jì)算資源。
      [0045]需要指出的是,上述客戶端101、代理節(jié)點(diǎn)102、數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103和中心管理節(jié)點(diǎn)104之間的連接方式可以是有線連接方式,也可以是無(wú)線連接方式。這里,無(wú)線連接方式可以包括但不限于3G/4G連接、WiFi連接、藍(lán)牙連接、WiMAX連接、Zigbee連接、UWB(ultrawideband)連接、以及其他現(xiàn)在已知或?qū)?lái)開(kāi)發(fā)的無(wú)線連接方式。
      [0046]在本申請(qǐng)上述實(shí)施例提供的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng),代理節(jié)點(diǎn)102可以根據(jù)中心管理節(jié)點(diǎn)104中存儲(chǔ)的哈希槽在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103的分布情況、數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中的哈希槽與各鍵值信息的映射關(guān)系,以及待存儲(chǔ)數(shù)據(jù)的鍵值信息,確定待存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的哈希槽和數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103,最后存儲(chǔ)上述待存儲(chǔ)數(shù)據(jù),本實(shí)施例中的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單且擴(kuò)展性強(qiáng)。
      [0047]繼續(xù)參考圖2,其示出了根據(jù)本申請(qǐng)的分布式數(shù)據(jù)存儲(chǔ)方法的一個(gè)實(shí)施例的流程200。本實(shí)施例所提供的分布式數(shù)據(jù)存儲(chǔ)方法是基于圖1中的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)實(shí)現(xiàn)的,可以由代理節(jié)點(diǎn)執(zhí)行。該方法包括以下步驟:
      [0048]步驟201,接收客戶端發(fā)送的待存儲(chǔ)數(shù)據(jù)。
      [0049]在本實(shí)施例中,分布式數(shù)據(jù)存儲(chǔ)方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的代理節(jié)點(diǎn))可以接收客戶端發(fā)送的待存儲(chǔ)數(shù)據(jù),其中,待存儲(chǔ)數(shù)據(jù)包括鍵值信息和數(shù)據(jù)信息。在實(shí)施例中,上述待存儲(chǔ)數(shù)據(jù)可以為key-value數(shù)據(jù),而其所包括鍵值信息和數(shù)據(jù)信息可以分別對(duì)應(yīng)其中的key和value。
      [0050]步驟202,根據(jù)中心管理節(jié)點(diǎn)存儲(chǔ)的記錄信息,確定與鍵值信息對(duì)應(yīng)的哈希槽和該哈希槽所在的第一數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。
      [0051]在本實(shí)施例中,上述記錄信息包括各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)所構(gòu)成的集群的網(wǎng)絡(luò)拓?fù)潢P(guān)系、哈希槽(也可以稱之為hash slot)在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的分布情況以及各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的負(fù)載量。這里,各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)包括多個(gè)用于映射鍵值信息的哈希槽。上述電子設(shè)備基于步驟201中得到的待存儲(chǔ)數(shù)據(jù)的鍵值信息計(jì)算其所屬的哈希槽,然后從中心管理節(jié)點(diǎn)存儲(chǔ)的記錄信息中確定該待存儲(chǔ)數(shù)據(jù)的鍵值信息對(duì)應(yīng)的哈希槽和該哈希槽所在的第一數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。
      [0052]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述電子設(shè)備可以預(yù)先建立與上述中心管理節(jié)點(diǎn)的聯(lián)系。其中,中心管理節(jié)點(diǎn)用于管理各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)構(gòu)成的集群,獲取集群的網(wǎng)絡(luò)拓?fù)潢P(guān)系、哈希槽在各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的分布情況以及各數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的負(fù)載量。
      [0053]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,例如,可以將鍵值空間分割為16384個(gè)哈希槽,而每一個(gè)上述數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)可以包括一部分上述哈希槽。這里的哈希槽可以通過(guò)哈希函數(shù)將特定的鍵值信息映射到特定的數(shù)據(jù)信息,這可以保證鍵值信息和數(shù)據(jù)信息之間一一對(duì)應(yīng)的關(guān)系,從而使得待存儲(chǔ)數(shù)據(jù)存儲(chǔ)到特定的位置。上述電子設(shè)備可
      當(dāng)前第2頁(yè)1 2 3 4 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1