數(shù)據(jù)存儲、查詢方法及系統(tǒng)的制作方法
【專利摘要】本申請公開了一種數(shù)據(jù)存儲方法,將待存儲數(shù)據(jù)分為若干的數(shù)據(jù)集,每個數(shù)據(jù)集通過虛擬存儲空間域及哈希算法與相應(yīng)的服務(wù)器節(jié)點建立映射關(guān)系,即每個數(shù)據(jù)集存儲至與該數(shù)據(jù)集存在映射關(guān)系的服務(wù)器節(jié)點中,實現(xiàn)了分布式實時數(shù)據(jù)庫系統(tǒng)中海量數(shù)據(jù)的自動存儲,降低了工作人員進(jìn)行數(shù)據(jù)分配時的工作量,提高了數(shù)據(jù)存儲時的分配效率。本申請還提供一種數(shù)據(jù)查詢方法及數(shù)據(jù)存儲系統(tǒng)。
【專利說明】數(shù)據(jù)存儲、查詢方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分布式實時數(shù)據(jù)庫【技術(shù)領(lǐng)域】,更具體地說,涉及一種分布式實時數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的存儲、查詢方法及系統(tǒng)。
【背景技術(shù)】
[0002]在石化、化工等領(lǐng)域,實時數(shù)據(jù)庫是現(xiàn)代大型過程控制系統(tǒng)的核心數(shù)據(jù)平臺,它為企業(yè)效益評估、工藝優(yōu)化、管理決策等上層應(yīng)用提供必不可少的高效數(shù)據(jù)服務(wù)。近年來,隨著產(chǎn)業(yè)結(jié)構(gòu)優(yōu)化和集中度提升,企業(yè)的生產(chǎn)規(guī)模不斷擴大,對實時數(shù)據(jù)庫的性能、可靠性和可擴展性要求越來越高,分布式實時數(shù)據(jù)庫系統(tǒng)得到了廣泛應(yīng)用。
[0003]目前的實時數(shù)據(jù)庫系統(tǒng)雖然能夠在一定程度上實現(xiàn)數(shù)據(jù)的分布式存儲,但是,各個服務(wù)器節(jié)點存儲哪些數(shù)據(jù)由人工分配,而由于實時數(shù)據(jù)庫中的數(shù)據(jù)量極大,使得工作人員進(jìn)行數(shù)據(jù)分配時的工作量大,數(shù)據(jù)分配效率低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種數(shù)據(jù)存儲方法,以降低工作人員進(jìn)行數(shù)據(jù)分配時的工作量,提高數(shù)據(jù)分配效率。
[0005]為實現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:
[0006]一種數(shù)據(jù)存儲方法,應(yīng)用于分布式實時數(shù)據(jù)庫系統(tǒng),包括:
[0007]將待存儲數(shù)據(jù)劃分為若干個數(shù)據(jù)集,并為每個數(shù)據(jù)集分配一個識別碼;
[0008]依據(jù)第i個數(shù)據(jù)集的識別碼確定與所述第i個數(shù)據(jù)集對應(yīng)的服務(wù)器節(jié)點,包括:
[0009]依據(jù)每個服務(wù)器節(jié)點的剩余資源與所有服務(wù)器節(jié)點的總剩余資源的比值為每個服務(wù)器節(jié)點分配管轄的虛擬存儲空間域,其中,每個虛擬存儲空間域包括若干虛擬存儲單元,每個虛擬存儲單元具有唯一的地址標(biāo)識;
[0010]應(yīng)用哈希函數(shù)將第i個數(shù)據(jù)集的識別碼進(jìn)行轉(zhuǎn)換,獲得與第i個數(shù)據(jù)集對應(yīng)的哈希值;
[0011]依據(jù)第i個數(shù)據(jù)集對應(yīng)的哈希值的預(yù)設(shè)位置處的數(shù)組以及虛擬存儲單元的地址標(biāo)識確定與第i個數(shù)據(jù)集對應(yīng)的虛擬存儲空間域,所述數(shù)組的位數(shù)與所述虛擬存儲單元的地址標(biāo)識的位數(shù)相同;
[0012]依據(jù)與第i個數(shù)據(jù)集對應(yīng)的虛擬存儲空間域確定與所述第i個數(shù)據(jù)集對應(yīng)的服務(wù)器節(jié)點;
[0013]將第i個數(shù)據(jù)集中的數(shù)據(jù)存儲至與所述第i個數(shù)據(jù)集對應(yīng)的服務(wù)器節(jié)點中。
[0014]上述方法,優(yōu)選的,還包括:實時記錄各個服務(wù)器節(jié)點的屬性指標(biāo),所述屬性指標(biāo)至少包括:
[0015]每個服務(wù)器節(jié)點的當(dāng)前剩余資源量;
[0016]每個服務(wù)器節(jié)點所允許的剩余資源量的最小值;
[0017]每個服務(wù)器節(jié)點當(dāng)前管轄的虛擬存儲單元的數(shù)量;[0018]每個服務(wù)器節(jié)點的當(dāng)前相對剩余資源量,其中,第i個服務(wù)器節(jié)點的相對剩余資源量依據(jù)第一公式確定,所述第一公式為:
[0019]
【權(quán)利要求】
1.一種數(shù)據(jù)存儲方法,應(yīng)用于分布式實時數(shù)據(jù)庫系統(tǒng),其特征在于,包括: 將待存儲數(shù)據(jù)劃分為若干個數(shù)據(jù)集,并為每個數(shù)據(jù)集分配一個識別碼; 依據(jù)第i個數(shù)據(jù)集的識別碼確定與所述第i個數(shù)據(jù)集對應(yīng)的服務(wù)器節(jié)點,包括: 依據(jù)每個服務(wù)器節(jié)點的剩余資源與所有服務(wù)器節(jié)點的總剩余資源的比值為每個服務(wù)器節(jié)點分配管轄的虛擬存儲空間域,其中,每個虛擬存儲空間域包括若干虛擬存儲單元,每個虛擬存儲單元具有唯一的地址標(biāo)識; 應(yīng)用哈希函數(shù)將第i個數(shù)據(jù)集的識別碼進(jìn)行轉(zhuǎn)換,獲得與第i個數(shù)據(jù)集對應(yīng)的哈希值; 依據(jù)第i個數(shù)據(jù)集對應(yīng)的哈希值的預(yù)設(shè)位置處的數(shù)組以及虛擬存儲單元的地址標(biāo)識確定與第i個數(shù)據(jù)集對應(yīng)的虛擬存儲空間域,所述數(shù)組的位數(shù)與所述虛擬存儲單元的地址標(biāo)識的位數(shù)相同; 依據(jù)與第i個數(shù)據(jù)集對應(yīng)的虛擬存儲空間域確定與所述第i個數(shù)據(jù)集對應(yīng)的服務(wù)器節(jié)占.將第i個數(shù)據(jù)集中的數(shù)據(jù)存儲至與所述第i個數(shù)據(jù)集對應(yīng)的服務(wù)器節(jié)點中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:實時記錄各個服務(wù)器節(jié)點的屬性指標(biāo),所述屬性指標(biāo)至少包括: 每個服務(wù)器節(jié)點的當(dāng)前剩余資源量; 每個服務(wù)器節(jié)點所允許 的剩余資源量的最小值; 每個服務(wù)器節(jié)點當(dāng)前管轄的虛擬存儲單元的數(shù)量; 每個服務(wù)器節(jié)點的當(dāng)前相對剩余資源量,其中,第i個服務(wù)器節(jié)點的相對剩余資源量依據(jù)第一公式確定,所述第一公式為:
C remain — C allremain
C uUremain ^N^ 其中,U為第i個服務(wù)器節(jié)點的相對剩余資源量;cMain為第i個服務(wù)器節(jié)點當(dāng)前的剩余資源量;callMain是所有服務(wù)器節(jié)點的總的剩余資源量;T為第i個服務(wù)器節(jié)點當(dāng)前管轄的虛擬存儲單元的數(shù)量;N為所有服務(wù)器節(jié)點管轄的所有虛擬存儲單元的數(shù)量。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 當(dāng)監(jiān)測到第i個服務(wù)器節(jié)點的相對剩余資源量小于或等于預(yù)設(shè)閾值時,將所述第i個服務(wù)器節(jié)點過載的虛擬存儲單元分配給其它服務(wù)器節(jié)點管轄。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述第i個服務(wù)器節(jié)點過載的虛擬存儲單元分配給其它服務(wù)器節(jié)點管轄包括: 獲取所述第i個服務(wù)器節(jié)點的相對剩余資源量為零時,所述第i個服務(wù)器節(jié)點對應(yīng)的虛擬存儲單元的個數(shù)TZOT。; 所述第i個服務(wù)器節(jié)點過載的虛擬存儲單元的數(shù)量Te為:TE=T-T_。,其中,T為所述第i個服務(wù)器節(jié)點當(dāng)前管轄的虛擬存儲單元的數(shù)量;依據(jù)所述第一公式確定與所述過載的虛擬存儲單元的數(shù)量Te相對應(yīng)的η個服務(wù)器節(jié)點,所述η個服務(wù)器節(jié)點所能額外管轄的虛擬存儲單元的數(shù)量的總和大于或等于所述第i個服務(wù)器節(jié)點過載的虛擬存儲單元的數(shù)量Te ; 將所述第i個服務(wù)器節(jié)點所管轄的虛擬存儲單元中的Te個存儲單元分配給與所述虛擬存儲單元轉(zhuǎn)移數(shù)量Te相對應(yīng)的η個服務(wù)器節(jié)點管轄。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述η個服務(wù)器節(jié)點中,第j個服務(wù)器節(jié)點的能額外管轄的虛擬存儲單元的個數(shù)Tj依據(jù)如下方法確定: 獲取所述第j個服務(wù)器節(jié)點的相對剩余資源量為零時,所述第j個服務(wù)器節(jié)點對應(yīng)的虛擬存儲單元的個數(shù)Tm ; 所述第j個服務(wù)器節(jié)點能額外管轄的虛擬存儲單元的個數(shù)為:I>TM-T,其中,T為所述第j個服務(wù)器節(jié)點當(dāng)前管轄的虛擬存儲單元的數(shù)量。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 當(dāng)監(jiān)測到第i個服務(wù)器節(jié)點的相對剩余資源量小于或等于所述第i個服務(wù)器節(jié)點所允許的剩余資源量的最小值時,將所述第i個服務(wù)器節(jié)點中存儲時間最早的部分?jǐn)?shù)據(jù)遷移到其它服務(wù)器節(jié)點中。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將所述第i個服務(wù)器中存儲時間最早的部分?jǐn)?shù)據(jù)遷移到其它服務(wù)器節(jié)點中包括: 獲取所述第i個服務(wù)器節(jié)點的相對剩余資源量為零時,所述第i個服務(wù)器節(jié)點對應(yīng)的剩余資源量Cm ;. 所述第i個服務(wù)器節(jié)點過載的資源量Cx為:Cx=CM-C_in,其中,Crefflain為所述第i個服務(wù)器節(jié)點當(dāng)前剩余資源量; 依據(jù)所述第一公式確定與所述第i個服務(wù)器節(jié)點過載的資源量Cx對應(yīng)的η個服務(wù)器節(jié)點,所述η個服務(wù)器節(jié)點所能額外提供的資源量的總和大于或等于所述第i個服務(wù)器節(jié)點過載的資源量Cx ; 將所述第i個服務(wù)器節(jié)點過載的資源量Cx對應(yīng)的存儲時間最早的數(shù)據(jù)遷移至所述η個服務(wù)器節(jié)點中。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述η個服務(wù)器節(jié)點中第k個服務(wù)器節(jié)點所能額外提供的資源量Cxk依據(jù)如下方法確定: 獲取所述第k個服務(wù)器節(jié)點的相對剩余資源量為零時,所述第k個服務(wù)器節(jié)點對應(yīng)的剩余資源量Ck ; 所述第k個服務(wù)器節(jié)點所能額外提供的資源量Cxk為:Cxk=C_in-Ck,其中,Cremain為所述第i個服務(wù)器節(jié)點當(dāng)前剩余資源量。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)所述分布式實時數(shù)據(jù)庫系統(tǒng)中有新的服務(wù)器節(jié)點加入時,還包括: 將相對剩余資源量小于或等于預(yù)設(shè)閾值的服務(wù)器節(jié)點管轄的部分虛擬存儲單元分配給所述新的服務(wù)器節(jié)點管轄,所述新的服務(wù)器節(jié)點所管轄的虛擬存儲單元的數(shù)量為所述新的服務(wù)器節(jié)點的相對剩余資源量為零時所對應(yīng)的虛擬虛擬存儲單元的數(shù)量。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,還包括: 將相對剩余資源量小于或等于服務(wù)器節(jié)點所允許的剩余資源量的最小值的服務(wù)器節(jié)點中的部分?jǐn)?shù)據(jù)遷移至所述新的服務(wù)器節(jié)點中,遷移至所述新的服務(wù)器節(jié)點的數(shù)據(jù)量對應(yīng)的資源量為所述新的服務(wù)器節(jié)點的相對剩余資源量為零時,所述新的服務(wù)器節(jié)點所對應(yīng)的資源量。
11.根據(jù)權(quán)利要求3-9任意一項所述的方法,其特征在于,還包括: 當(dāng)所述分布式實時數(shù)據(jù)庫系統(tǒng)存儲狀態(tài)發(fā)生變化時,更新服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系,并將所述對應(yīng)關(guān)系存儲至日志信息表中; 所述日志信息表包括實時信息表和歷史信息表,所述實時信息表用于記錄當(dāng)前時刻的服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系;所述歷史信息表用于記錄歷史各時刻服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述歷史信息表包括全量信息表和若干個增量信息表; 所述全量信息表包括若干條第一類記錄,所述第一類記錄用于存儲歷史某一時刻所有服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系; 每一條所述第一類記錄對應(yīng)一個增量信息表,所述增量信息表包括預(yù)設(shè)數(shù)目條第二類記錄,所述第二類記錄用于記錄歷史某一時刻與上一條第二類記錄的對應(yīng)時刻相比發(fā)生變化的服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系,其中,所述第二類記錄的記錄時刻晚于所述第一類記錄的記錄時刻。
13.一種基于權(quán)利要求12所述的數(shù)據(jù)存儲方法的數(shù)據(jù)查詢方法,其特征在于,每一個增量信息表對應(yīng)一個速查表,所述速查表包括預(yù)設(shè)數(shù)目條與所述增量信息表中的第二類記錄一一對應(yīng)的第三類記錄,每一條第三類記錄用于記錄相對應(yīng)的第二類記錄中虛擬存儲空間域的管轄狀態(tài)是否發(fā)生變化的狀態(tài)信息;所述方法包括: 依據(jù)待查詢的時間在所述全量信息表中確定與所述待查詢的時間對應(yīng)的第一類記錄組;確定與所述第一類記錄組中的第m條記錄相對應(yīng)的速查表,依據(jù)所述待查詢時間,在所述速查表中確定與所述待查詢時間對應(yīng)的第三類記錄組; 依據(jù)待查詢數(shù)據(jù)所屬的數(shù)據(jù)集確定所述待查詢數(shù)據(jù)所對應(yīng)的虛擬存儲單元Um ; 對于所述第三類記錄組中的第I條第三類記錄,當(dāng)所述虛擬存儲單元Um對應(yīng)位置處的狀態(tài)信息為發(fā)生狀態(tài)變化時,在所述第y條第三類記錄中,確定與所述虛擬存儲單元Um相鄰的若干個連續(xù)的發(fā)生狀態(tài)變化的虛擬存儲單元; 依據(jù)所述連續(xù)的虛擬存儲單元所屬的虛擬存儲空間域確定與所述第y條第三類記錄對應(yīng)的待查詢數(shù)據(jù)所在的服務(wù)器節(jié)點; 在所述服務(wù)器節(jié)點中查詢與所述第y條第三類記錄對應(yīng)的待查詢數(shù)據(jù)。
14. 一種數(shù)據(jù)存儲系統(tǒng),其特征在于,包括: 與數(shù)據(jù)采集器相連接的至少一個中心服務(wù)器節(jié)點,與所述至少一個中心服務(wù)器節(jié)點相連接的若干個子服務(wù)器節(jié)點;其中, 所述中心服務(wù)器節(jié)點包括: 劃分模塊,用于將待存儲數(shù)據(jù)劃分為若干個數(shù)據(jù)集,并為每個數(shù)據(jù)集分配一個識別碼; 確定模塊,用于依據(jù)第i個數(shù)據(jù)集的識別碼確定與所述第i個數(shù)據(jù)集對應(yīng)的子服務(wù)器節(jié)點,具體包括: 分配單元,用于依據(jù)每個子服務(wù)器節(jié)點的剩余資源與所有子服務(wù)器節(jié)點的總剩余資源的比值為每個子服務(wù)器節(jié)點分配管轄的虛擬存儲空間域,其中,每個虛擬存儲空間域包括若干虛擬存儲單元,每個虛擬存儲單元具有唯一的地址標(biāo)識; 轉(zhuǎn)換單元,用于應(yīng)用哈希函數(shù)將第i個數(shù)據(jù)集的識別碼進(jìn)行轉(zhuǎn)換,獲得與第i個數(shù)據(jù)集對應(yīng)的哈希值; 第一確定單元,用于依據(jù)第i個數(shù)據(jù)集對應(yīng)的哈希值的預(yù)設(shè)位置處的數(shù)組以及虛擬存儲單元的地址標(biāo)識確定與第i個數(shù)據(jù)集對應(yīng)的虛擬存儲空間域,所述數(shù)組的位數(shù)與所述虛擬存儲單元的地址標(biāo)識的位數(shù)相同; 第二確定單元,用于依據(jù)與第i個數(shù)據(jù)集對應(yīng)的虛擬存儲空間域確定與所述第i個數(shù)據(jù)集對應(yīng)的子服務(wù)器節(jié)點; 存儲模塊,用于將數(shù)據(jù)采集器推送的待存儲的數(shù)據(jù)存儲至相應(yīng)的子服務(wù)器中。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述中心服務(wù)器節(jié)點還包括: 記錄模塊,用于實施記錄各個子服務(wù)器節(jié)點的屬性指標(biāo),所示屬性指標(biāo)至少包括: 每個子服務(wù)器節(jié)點的當(dāng)前剩余資源量; 每個子服務(wù)器節(jié)點所允許的剩余資源量的最小值; 每個子服務(wù)器節(jié)點當(dāng)前管轄的虛擬存儲單元的數(shù)量; 每個子服務(wù)器節(jié)點的當(dāng)前相對剩余資源量,其中,第i個子服務(wù)器節(jié)點的相對剩余資源量依據(jù)第一公式確定,所述第一公式為:
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述中心服務(wù)器節(jié)點還包括: 監(jiān)測模塊,用于監(jiān)測第i個子服務(wù)器節(jié)點的相對剩余資源量的大??; 第一分配模塊,用于在所述監(jiān)測模塊監(jiān)測到第i個子服務(wù)器節(jié)點的相對剩余資源量小于或等于預(yù)設(shè)閾值時,將所述第i個子服務(wù)器節(jié)點過載的虛擬存儲單元分配給其它子服務(wù)器節(jié)點管轄; 第二分配模塊,用于在所述監(jiān)測模塊監(jiān)測到第i個子服務(wù)器節(jié)點的相對剩余資源量小于或等于所述第i個子服務(wù)器節(jié)點所允許的剩余資源量的最小值時,將所述第i個子服務(wù)器節(jié)點中存儲時間最早的部分?jǐn)?shù)據(jù)遷移到其它子服務(wù)器節(jié)點中。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述中心服務(wù)器節(jié)點還包括: 第三分配模塊,用于當(dāng)有新的子服務(wù)器節(jié)點加入數(shù)據(jù)存儲系統(tǒng)時,將相對剩余資源量小于或等于子服務(wù)器節(jié)點所允許的剩余資源量的最小值的子服務(wù)器節(jié)點中的部分?jǐn)?shù)據(jù)遷移至所述新的子服務(wù)器節(jié)點中,遷移至所述新的子服務(wù)器節(jié)點的數(shù)據(jù)量對應(yīng)的資源量為所述新的子服務(wù)器節(jié)點的相對剩余資源量為零時,所述新的子服務(wù)器節(jié)點所對應(yīng)的資源量。
18.根據(jù)權(quán)利要求16或17所述的系統(tǒng),其特征在于,所述中心服務(wù)器節(jié)點還包括: 日志記錄模塊,用于當(dāng)所述數(shù)據(jù)存儲系統(tǒng)存儲狀態(tài)發(fā)生變化時,更新子服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系,并將所述對應(yīng)關(guān)系存儲至日志信息表中;所述日志信息表包括實時信息表和歷史信息表,所述實時信息表用于記錄當(dāng)前時刻的服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系;所述歷史信息表用于記錄歷史各時刻服務(wù)器節(jié)點與虛擬存儲空間域的對應(yīng)關(guān)系。
【文檔編號】H04L29/08GK103473334SQ201310429612
【公開日】2013年12月25日 申請日期:2013年9月18日 優(yōu)先權(quán)日:2013年9月18日
【發(fā)明者】李德文, 譚彰, 費振華, 賈士博 申請人:浙江中控技術(shù)股份有限公司