本發(fā)明專利技術(shù)提供的分布式緩存系統(tǒng)、方法及裝置,數(shù)據(jù)庫(kù)索引信息不僅存儲(chǔ)在緩存服務(wù)器內(nèi)置的內(nèi)存空間內(nèi),還存儲(chǔ)在中間庫(kù)服務(wù)器的硬盤空間,在緩存服務(wù)器重啟后,獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息,避免了僅將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,導(dǎo)致重啟后數(shù)據(jù)丟失的問(wèn)題。
Distributed cache system, method and device
Distributed caching system, method and device provided by the invention, not only the database indexing information stored in the cache server built-in memory space, is stored in the middle of the library server disk space in the cache server after the restart, the first database index information middle database server storage, avoid only the data stored in memory, resulting in the loss of data after the resumption of the problem.
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種分布式緩存系統(tǒng)、方法及裝置
本專利技術(shù)涉及數(shù)據(jù)緩存領(lǐng)域,更具體地說(shuō),涉及一種分布式緩存系統(tǒng)、方法及裝置。
技術(shù)介紹
緩存具有能夠提升指令和數(shù)據(jù)讀取速度的特性,隨著本地計(jì)算機(jī)系統(tǒng)向分布式系統(tǒng)的擴(kuò)展,其在分布式計(jì)算領(lǐng)域中得到了廣泛的應(yīng)用,稱為分布式緩存?,F(xiàn)有的分布式緩存技術(shù)主要有Memcached。Memcached是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提供動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。為了提高性能,memcached中保存的數(shù)據(jù)都存儲(chǔ)在memcached內(nèi)置的內(nèi)存存儲(chǔ)空間中。由于數(shù)據(jù)僅存在于內(nèi)存中,因此重啟memcached會(huì)導(dǎo)致全部數(shù)據(jù)消失。
技術(shù)實(shí)現(xiàn)思路
有鑒于此,本專利技術(shù)提出一種分布式緩存系統(tǒng)、方法及裝置,欲解決在進(jìn)行分布式緩存時(shí),僅將數(shù)據(jù)存儲(chǔ)在內(nèi)存空間中,導(dǎo)致重啟后數(shù)據(jù)全部丟失的問(wèn)題。為了解決上述技術(shù)問(wèn)題,現(xiàn)提出的方案如下:一種分布式緩存系統(tǒng),包括:若干個(gè)緩存服務(wù)器和中間庫(kù)服務(wù)器,其中,所述中間庫(kù)服務(wù)器,用于在硬盤空間中存儲(chǔ)第一數(shù)據(jù)庫(kù)索引信息;每個(gè)所述緩存服務(wù)器,用于在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間;每個(gè)所述緩存服務(wù)器,還用于接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息,并利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;每個(gè)所述緩存服務(wù)器,還用于發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器;所述中間庫(kù)服務(wù)器,還用于利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。優(yōu)選的,所述第一數(shù)據(jù)庫(kù)索引信息和所述第二數(shù)據(jù)庫(kù)索引信息均為:客戶編號(hào)、數(shù)據(jù)表編號(hào)和數(shù)據(jù)庫(kù)編號(hào)的映射關(guān)系。優(yōu)選的,每個(gè)所述緩存服務(wù)器,還用于每隔預(yù)設(shè)時(shí)間獲取所述中間服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。一種分布式緩存方法,應(yīng)用于緩存服務(wù)器,所述方法包括:在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間;接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息;利用第二數(shù)據(jù)庫(kù)索引信息對(duì)所述內(nèi)存空間中存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器。優(yōu)選的,在所述在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間后,還包括:每隔預(yù)設(shè)時(shí)間獲取所述中間服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。一種分布式緩存裝置,應(yīng)用于緩存服務(wù)器,所述裝置,包括:初始化單元,用于在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間;接收單元,用于接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息;第一更新單元,用于利用第二數(shù)據(jù)庫(kù)索引信息對(duì)所述內(nèi)存空間中存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;發(fā)送單元,用于發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器。優(yōu)選的,所述裝置,還包括:第二更新單元,用于每隔預(yù)設(shè)時(shí)間獲取所述中間服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。一種分布式緩存方法,應(yīng)用于中間庫(kù)服務(wù)器,所述方法包括:接收緩存服務(wù)器發(fā)送的第二數(shù)據(jù)庫(kù)索引信息;利用第二數(shù)據(jù)庫(kù)索引信息對(duì)存儲(chǔ)在硬盤空間的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;接收緩存服務(wù)器發(fā)送的數(shù)據(jù)更新請(qǐng)求指令;將存儲(chǔ)在硬盤空間的第一數(shù)據(jù)庫(kù)索引信息返回給發(fā)送所述數(shù)據(jù)更新請(qǐng)求指令的緩存服務(wù)器。優(yōu)選的,應(yīng)用于中間庫(kù)服務(wù)器,所述裝置,包括:第一接收單元,用于接收緩存服務(wù)器發(fā)送的第二數(shù)據(jù)庫(kù)索引信息;更新單元,用于利用第二數(shù)據(jù)庫(kù)索引信息對(duì)存儲(chǔ)在硬盤空間的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;第二接收單元,用于接收緩存服務(wù)器發(fā)送的數(shù)據(jù)更新請(qǐng)求指令;發(fā)送單元,用于將存儲(chǔ)在硬盤空間的第一數(shù)據(jù)庫(kù)索引信息返回給發(fā)送所述數(shù)據(jù)更新請(qǐng)求指令的緩存服務(wù)器。與現(xiàn)有技術(shù)相比,本專利技術(shù)的技術(shù)方案具有以下優(yōu)點(diǎn):上述技術(shù)方案提供的分布式緩存系統(tǒng)、方法及裝置,數(shù)據(jù)庫(kù)索引信息不僅存儲(chǔ)在緩存服務(wù)器內(nèi)置的內(nèi)存空間內(nèi),還存儲(chǔ)在中間庫(kù)服務(wù)器的硬盤空間,在緩存服務(wù)器重啟后,獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息,避免了僅將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,導(dǎo)致重啟后數(shù)據(jù)丟失的問(wèn)題。附圖說(shuō)明為了更清楚地說(shuō)明本專利技術(shù)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本專利技術(shù)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本專利技術(shù)實(shí)施例提供的一種分布式緩存系統(tǒng)的示意圖;圖2為本專利技術(shù)實(shí)施例提供的一種應(yīng)用于緩存服務(wù)器的分布式緩存方法的流程圖;圖3為本專利技術(shù)實(shí)施例提供的另一種應(yīng)用于緩存服務(wù)器的分布式緩存方法的流程圖;圖4為本專利技術(shù)實(shí)施例提供的另一種應(yīng)用于中間庫(kù)服務(wù)器的分布式緩存方法的流程圖;圖5為本專利技術(shù)實(shí)施例提供的一種應(yīng)用于緩存服務(wù)器的分布式緩存裝置的示意圖;圖6為本專利技術(shù)實(shí)施例提供的另一種應(yīng)用于緩存服務(wù)器的分布式緩存裝置的示意圖;圖7為本專利技術(shù)實(shí)施例提供的一種應(yīng)用于中間庫(kù)服務(wù)器的分布式緩存裝置的示意圖。具體實(shí)施方式下面將結(jié)合本專利技術(shù)實(shí)施例中的附圖,對(duì)本專利技術(shù)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本專利技術(shù)一部分實(shí)施例,而不是全部的實(shí)施例。基于本專利技術(shù)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本專利技術(shù)保護(hù)的范圍。本實(shí)施例提供一種分布式緩存系統(tǒng),如圖1所示,包括:若干個(gè)緩存服務(wù)器1和一個(gè)中間庫(kù)服務(wù)器2,其中,所述中間庫(kù)服務(wù)器2,用于在硬盤空間中存儲(chǔ)第一數(shù)據(jù)庫(kù)索引信息。第一數(shù)據(jù)庫(kù)索引信息為客戶編號(hào)、數(shù)據(jù)表編號(hào)和數(shù)據(jù)庫(kù)編號(hào)的映射關(guān)系。在銀行領(lǐng)域,每個(gè)客戶對(duì)應(yīng)一個(gè)客戶編號(hào),每個(gè)客戶可以有多個(gè)賬號(hào),但是每個(gè)客戶的編號(hào)是唯一的。在本專利技術(shù)中通過(guò)數(shù)據(jù)表編號(hào)(業(yè)界又稱作籃子號(hào))和數(shù)據(jù)庫(kù)編號(hào)來(lái)區(qū)分不同的數(shù)據(jù)表(業(yè)界又稱作籃子)和數(shù)據(jù)庫(kù)。每個(gè)所述緩存服務(wù)器1,用于在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間。緩存服務(wù)器1重啟后,原來(lái)在內(nèi)存空間存儲(chǔ)的數(shù)據(jù)都已經(jīng)清空。因此,從中間服務(wù)器中獲取第一數(shù)據(jù)庫(kù)索引信息,并存儲(chǔ)在內(nèi)存空間,提高應(yīng)用查詢效率。每個(gè)所述緩存服務(wù)器1,還用于接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息,并利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。通常在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),客戶端會(huì)根據(jù)一定的規(guī)則(例如一致性哈希算法)計(jì)算出客戶編號(hào)對(duì)數(shù)據(jù)表編號(hào)和數(shù)據(jù)庫(kù)編號(hào),使得相應(yīng)數(shù)據(jù),按照客戶編號(hào)均勻存儲(chǔ)在各個(gè)數(shù)據(jù)庫(kù)中。例如,客戶端根據(jù)一致性哈希算法計(jì)算出客戶編號(hào)1對(duì)應(yīng)的數(shù)據(jù)表編號(hào)為1、數(shù)據(jù)庫(kù)編號(hào)為1,并將該映射關(guān)系發(fā)送至某個(gè)緩存服務(wù)器1,緩存服務(wù)器1判斷是否存儲(chǔ)有客戶編號(hào)1的映射關(guān)系,若沒(méi)有,則將客戶編號(hào)1的映射關(guān)系存儲(chǔ)在內(nèi)存中,若有,則判斷原來(lái)存儲(chǔ)的客戶編號(hào)1的映射關(guān)系與現(xiàn)在接收的客戶編號(hào)1的映射關(guān)系是否相同,若相同則不修改,若不相同,則將存儲(chǔ)的客戶編號(hào)1的映射關(guān)系修改為現(xiàn)在接收的客戶編號(hào)1的映射關(guān)系。每個(gè)所述緩存服務(wù)器1,還用于發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器。所述中間庫(kù)服務(wù)器2,還用于利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。中間庫(kù)服務(wù)器2接收到緩存服務(wù)器1轉(zhuǎn)發(fā)的第二數(shù)據(jù)庫(kù)索引信息后,也判斷其自身是否存儲(chǔ)有客戶編號(hào)1的映射關(guān)系,若沒(méi)有,則將客戶編號(hào)1的映射關(guān)系存儲(chǔ)在硬盤中,若有,則判斷原來(lái)存儲(chǔ)的客本文檔來(lái)自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種分布式緩存系統(tǒng),其特征在于,包括:若干個(gè)緩存服務(wù)器和中間庫(kù)服務(wù)器,其中,所述中間庫(kù)服務(wù)器,用于在硬盤空間中存儲(chǔ)第一數(shù)據(jù)庫(kù)索引信息;每個(gè)所述緩存服務(wù)器,用于在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間;每個(gè)所述緩存服務(wù)器,還用于接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息,并利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;每個(gè)所述緩存服務(wù)器,還用于發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器;所述中間庫(kù)服務(wù)器,還用于利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。
【技術(shù)特征摘要】
1.一種分布式緩存系統(tǒng),其特征在于,包括:若干個(gè)緩存服務(wù)器和中間庫(kù)服務(wù)器,其中,所述中間庫(kù)服務(wù)器,用于在硬盤空間中存儲(chǔ)第一數(shù)據(jù)庫(kù)索引信息;每個(gè)所述緩存服務(wù)器,用于在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間;每個(gè)所述緩存服務(wù)器,還用于接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息,并利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;每個(gè)所述緩存服務(wù)器,還用于發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器;所述中間庫(kù)服務(wù)器,還用于利用第二數(shù)據(jù)庫(kù)索引信息對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一數(shù)據(jù)庫(kù)索引信息和所述第二數(shù)據(jù)庫(kù)索引信息均為:客戶編號(hào)、數(shù)據(jù)表編號(hào)和數(shù)據(jù)庫(kù)編號(hào)的映射關(guān)系。3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,每個(gè)所述緩存服務(wù)器,還用于每隔預(yù)設(shè)時(shí)間獲取所述中間服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并對(duì)其存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新。4.一種分布式緩存方法,其特征在于,應(yīng)用于緩存服務(wù)器,所述方法包括:在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間;接收客戶端發(fā)送的第二數(shù)據(jù)庫(kù)索引信息;利用第二數(shù)據(jù)庫(kù)索引信息對(duì)所述內(nèi)存空間中存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息進(jìn)行更新;發(fā)送第二數(shù)據(jù)庫(kù)索引信息至所述中間庫(kù)服務(wù)器。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述在啟動(dòng)時(shí)獲取中間庫(kù)服務(wù)器存儲(chǔ)的第一數(shù)據(jù)庫(kù)索引信息并存儲(chǔ)在內(nèi)存空間后,還包括:每隔預(yù)設(shè)時(shí)間獲取所述中間服務(wù)器...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳福龍,杜長(zhǎng)霄,張聰,岳瑋,陳清江,孫宇晨,劉天寶,
申請(qǐng)(專利權(quán))人:中國(guó)建設(shè)銀行股份有限公司,
類型:發(fā)明
國(guó)別省市:北京,11
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。