專利名稱:一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法。
背景技術(shù):
實(shí)時(shí)數(shù)據(jù)庫所處理的數(shù)據(jù)是流程行業(yè)中的量測點(diǎn)及其采集到的實(shí)時(shí)數(shù)據(jù),各量測點(diǎn)及其實(shí)時(shí)數(shù)據(jù)之間并沒有很強(qiáng)的邏輯關(guān)聯(lián),正是這種特性使得實(shí)時(shí)數(shù)據(jù)庫特別適合開展分布式部署和應(yīng)用。目前國內(nèi)外已經(jīng)有比較成熟的實(shí)時(shí)數(shù)據(jù)庫產(chǎn)品,這些產(chǎn)品也可以進(jìn)行分布式部署應(yīng)用,通常的部署模式如下附圖1所示,實(shí)時(shí)數(shù)據(jù)庫在網(wǎng)絡(luò)環(huán)境下分布部署在各臺(tái)服務(wù)器
上(DB-l、DB-2、......、DB-M),網(wǎng)絡(luò)環(huán)境中各應(yīng)用(APP-l、APP-2、......、APP_N)根據(jù)自己的
需要訪問各數(shù)據(jù)庫服務(wù)器獲取或者修改數(shù)據(jù)。這種部署方式要求每一個(gè)應(yīng)用需要知道每一個(gè)它所要訪問的數(shù)據(jù)的存儲(chǔ)位置,在海量實(shí)時(shí)應(yīng)用環(huán)境下,還特別需要了解數(shù)據(jù)所在的服務(wù)器的性能和容量情況能否滿足其應(yīng)用要求,這就要求各應(yīng)用系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的物理部署緊密耦合,對應(yīng)用系統(tǒng)的規(guī)劃、設(shè)計(jì)和開發(fā)實(shí)現(xiàn)提出了很高的要求。隨著實(shí)時(shí)數(shù)據(jù)的規(guī)模越來越大,實(shí)時(shí)數(shù)據(jù)的來源越來越多樣化,對實(shí)時(shí)數(shù)據(jù)的應(yīng)用系統(tǒng)的要求越來越高、越來越復(fù)雜,會(huì)大大增加應(yīng)用開展和維護(hù)的難度和復(fù)雜度,并且這種做法也不符合應(yīng)用系統(tǒng)的分層建設(shè)原則,最終會(huì)導(dǎo)致應(yīng)用系統(tǒng)根本無法展開的結(jié)局。_
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明的目的在于提供的一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法,其最大限度地抑制了測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)的重新分布,且有效抑制測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)上分布的不均勻,能夠最大限度地減小數(shù)據(jù)庫節(jié)點(diǎn)增減時(shí)的測點(diǎn)的重新分布,而快速方便的訪問步驟也大大縮短了訪問時(shí)間,大大提高了訪問效率。本發(fā)明為達(dá)到上述的目的,本發(fā)明采用如下技術(shù)方案:
一種海量實(shí)時(shí)數(shù)據(jù)分布方法,首先利用哈希函數(shù)計(jì)算出每個(gè)實(shí)時(shí)數(shù)據(jù)庫節(jié)點(diǎn)的第一哈希值,且將所得的第一哈希值配置到圓上;接著利用哈希函數(shù)計(jì)算出測試點(diǎn)信息的第二哈希值;然后將第二哈希值映射到圓上與第一哈希值進(jìn)行匹配,且將其數(shù)據(jù)保存到圓上相匹配的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上;若第二哈希值在圓上尋找一圈后任未找到相匹配的數(shù)據(jù)庫節(jié)點(diǎn),則將其保存到圓上開始尋找時(shí)的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上。所述圓分為232等份。一種海量實(shí)時(shí)數(shù)據(jù)分布方法的訪問方法,包括以下步驟:首先將應(yīng)用系統(tǒng)的訪問信息通過哈希函數(shù)計(jì)算得到第三哈希值,接著將第三哈希值與第二哈希值進(jìn)行匹配,匹配成功則對匹配成功的第二哈希值所在的數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行訪問,且將訪問信息反饋給應(yīng)用系統(tǒng);若第三哈希值在圓上尋找一圈后未找到相匹配的第二哈希值,則其自動(dòng)與圓上開始尋找時(shí)的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上的第二哈希值相匹配,且對第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行訪問,將訪問信息反饋給應(yīng)用系統(tǒng)。本發(fā)明的有益效果為:本發(fā)明提供的一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法,其最大限度地抑制了測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)的重新分布,且有效抑制測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)上分布的不均勻,能夠最大限度地減小數(shù)據(jù)庫節(jié)點(diǎn)增減時(shí)的測點(diǎn)的重新分布,而快速方便的訪問步驟也大大縮短了訪問時(shí)間,大大提高了訪問效率。
圖1為現(xiàn)有實(shí)時(shí)數(shù)據(jù)庫其分布式部署結(jié)構(gòu)示意圖2為本發(fā)明實(shí)時(shí)數(shù)據(jù)庫分布式部署結(jié)構(gòu)示意圖。
具體實(shí)施例方式實(shí)施例1
如圖1所示,本實(shí)施例提供的是一種海量實(shí)時(shí)數(shù)據(jù)分布方法,首先利用哈希函數(shù)計(jì)算
出每個(gè)實(shí)時(shí)數(shù)據(jù)庫節(jié)點(diǎn)(Nodel、Node2......Node η)的第一哈希值,且將所得的第一哈希值
配置到O — 232等份的圓上;接著利用哈希函數(shù)計(jì)算出測試點(diǎn)信息的第二哈希值;然后將第二哈希值映射到圓上與第一哈希值進(jìn)行匹配,且將其數(shù)據(jù)保存到第一個(gè)相匹配的數(shù)據(jù)庫節(jié)點(diǎn)上;若第二哈希值在圓上找不到相匹配的數(shù)據(jù)庫節(jié)點(diǎn),則將其保存到位置編號(hào)為O的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上。所述的一種海量實(shí)時(shí)數(shù)據(jù)分布方法的訪問方法,包括以下步驟:首先將應(yīng)用系統(tǒng)的訪問信息通過希函數(shù)計(jì)算得到第三哈希值,接著將第三哈希值與第二哈希值進(jìn)行匹配,匹配成功則對第二哈希值所在的數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行訪問,且將訪問信息反饋給應(yīng)用系統(tǒng);若第三哈希值在圓上尋找一圈后未找到相匹配的第二哈希值,則其自動(dòng)與圓上開始尋找時(shí)位置編號(hào)為O的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上的第二哈希值相匹配,且對編號(hào)為O的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行訪問,將訪問信息反饋給應(yīng)用系統(tǒng)。當(dāng)數(shù)據(jù)庫節(jié)點(diǎn)數(shù)目發(fā)生變化時(shí),例如當(dāng)需要增加I個(gè)數(shù)據(jù)庫節(jié)點(diǎn)時(shí),只有在圓上增加數(shù)據(jù)庫節(jié)點(diǎn)的地點(diǎn)逆時(shí)針方向的第一各數(shù)據(jù)庫節(jié)點(diǎn)上的測點(diǎn)及其數(shù)據(jù)存儲(chǔ)位置會(huì)受到影響。本實(shí)施例所提供的一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法,其最大限度地抑制了測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)的重新分布,且有效抑制測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)上分布的不均勻,能夠最大限度地減小數(shù)據(jù)庫節(jié)點(diǎn)增減時(shí)的測點(diǎn)的重新分布,而快速方便的訪問步驟也大大縮短了訪問時(shí)間,大大提高了訪問效率。
權(quán)利要求
1.一種海量實(shí)時(shí)數(shù)據(jù)分布方法,其特征在于:首先利用哈希函數(shù)計(jì)算出每個(gè)實(shí)時(shí)數(shù)據(jù)庫節(jié)點(diǎn)的第一哈希值,且將所得的第一哈希值配置到圓上;接著利用哈希函數(shù)計(jì)算出測試點(diǎn)信息的第二哈希值;然后將第二哈希值映射到圓上與第一哈希值進(jìn)行匹配,且將其數(shù)據(jù)保存到圓上相匹配的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上;若第二哈希值在圓上尋找一圈后任未找到相匹配的數(shù)據(jù)庫節(jié)點(diǎn),則將其保存到圓上開始尋找時(shí)的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上。
2.根據(jù)權(quán)利要求1所述的一種海量實(shí)時(shí)數(shù)據(jù)分布方法,其特征在于:所述圓分為232等份。
3.根據(jù)權(quán)利要求1所述的一種海量實(shí)時(shí)數(shù)據(jù)分布方法的訪問方法,其特征在于包括以下步驟:首先將應(yīng)用系統(tǒng)的訪問信息通過哈希函數(shù)計(jì)算得到第三哈希值,接著將第三哈希值與第二哈希值進(jìn)行匹配,匹配成功則對匹配成功的第二哈希值所在的數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行訪問,且將訪問信息反饋給應(yīng)用系統(tǒng);若第三哈希值在圓上尋找一圈后未找到相匹配的第二哈希值,則其自動(dòng)與圓上開始尋找時(shí)的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上的第二哈希值相匹配,且對第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)進(jìn)行訪問,將訪問信息反饋給應(yīng)用系統(tǒng)。
全文摘要
本發(fā)明公開了一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法,首先利用哈希函數(shù)計(jì)算出每個(gè)實(shí)時(shí)數(shù)據(jù)庫節(jié)點(diǎn)的第一哈希值,且將所得的第一哈希值配置到圓上;接著利用哈希函數(shù)計(jì)算出測試點(diǎn)信息的第二哈希值;然后將第二哈希值映射到圓上與第一哈希值進(jìn)行匹配,且將其數(shù)據(jù)保存到圓上相匹配的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上;若第二哈希值在圓上尋找一圈后任未找到相匹配的數(shù)據(jù)庫節(jié)點(diǎn),則將其保存到圓上開始尋找時(shí)的第一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)上。本發(fā)明提供一種海量實(shí)時(shí)數(shù)據(jù)分布方法及其訪問方法,其最大限度地抑制了測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)的重新分布,且有效抑制測點(diǎn)在各數(shù)據(jù)庫節(jié)點(diǎn)上分布的不均勻,能夠最大限度地減小數(shù)據(jù)庫節(jié)點(diǎn)增減時(shí)的測點(diǎn)的重新分布,而快速方便的訪問步驟也大大縮短了訪問時(shí)間,大大提高了訪問效率。
文檔編號(hào)H04L29/08GK103078946SQ20131000945
公開日2013年5月1日 申請日期2013年1月10日 優(yōu)先權(quán)日2013年1月10日
發(fā)明者張亮, 毛寶平, 金乃正, 章立宗, 丁梁, 劉永新, 許偉國, 裘建舟, 汪彥, 張鋒明, 劉恢, 王金巖 申請人:紹興電力局, 南京拓為電力科技發(fā)展有限公司, 國家電網(wǎng)公司