亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種支持關(guān)系模型和鍵-值結(jié)構(gòu)的混合數(shù)據(jù)存儲方法

文檔序號:8430840閱讀:286來源:國知局
一種支持關(guān)系模型和鍵-值結(jié)構(gòu)的混合數(shù)據(jù)存儲方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)庫領(lǐng)域,涉及一種支持關(guān)系模型和鍵-值結(jié)構(gòu)的混合數(shù)據(jù)存儲方法,本發(fā)明結(jié)合關(guān)系數(shù)據(jù)庫和鍵-值數(shù)據(jù)庫的優(yōu)點,對混合數(shù)據(jù)模型進行管理。
【背景技術(shù)】
[0002]現(xiàn)實世界中,數(shù)據(jù)的屬性,根據(jù)是否經(jīng)常改變,可以分為穩(wěn)態(tài)數(shù)據(jù)與非穩(wěn)態(tài)數(shù)據(jù);根據(jù)屬性的類型,可以分為結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù);根據(jù)屬性是否與時間相關(guān),可以分為時序數(shù)據(jù)與非時序數(shù)據(jù)。采用單一數(shù)據(jù)庫形式存儲具有多種不同的屬性的數(shù)據(jù),隨著數(shù)據(jù)量增長,需要考慮較大的寫入、讀取速度,最大存儲上線等問題。本發(fā)明提出一種支持關(guān)系模型和鍵-值結(jié)構(gòu)的混合數(shù)據(jù)存儲方法,解決這一問題。
[0003]關(guān)系模型:用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型。關(guān)系型數(shù)據(jù)庫,是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)據(jù)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。現(xiàn)實世界中的各種實體以及實體之間的各種聯(lián)系均用關(guān)系模型來表示。MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源關(guān)系型數(shù)據(jù)庫。
[0004]鍵-值結(jié)構(gòu)是Key-Value的簡稱。Key-Value就是每次存儲一個數(shù)據(jù)時,是根據(jù)Key進行索引存儲的。鍵-值數(shù)據(jù)庫是指基于鍵-值結(jié)構(gòu)的數(shù)據(jù),是最近新型的NoSQL數(shù)據(jù)庫的一種類型。NoSQL(NotOnlySQL),泛指非關(guān)系型的數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫適合數(shù)據(jù)模型簡單、需要更強靈活性的IT系統(tǒng)、并且不需要高度的數(shù)據(jù)一致性。鍵-值數(shù)據(jù)庫,主要使用哈希結(jié)構(gòu),表中通過特定的鍵值指向多個列。這些列是由列家族(列族)來安排的。HBase是Apache的Hadoop項目中的子項目,是一個分布式開源鍵-值數(shù)據(jù)庫,在工業(yè)界和學(xué)術(shù)界都有了較好的應(yīng)用效果。
[0005]交易數(shù)據(jù),是指資金交易明細、銀行卡號、開戶人信息等交易數(shù)據(jù),還包括網(wǎng)上銀行交易數(shù)據(jù)等其他交易的數(shù)據(jù)內(nèi)容。交易數(shù)據(jù),可以從不同銀行、金融機構(gòu)等數(shù)據(jù)源獲取,具有數(shù)據(jù)格式不一致、數(shù)據(jù)類型繁雜、非結(jié)構(gòu)化數(shù)據(jù)較多等特點,并且還隱藏著較多的關(guān)聯(lián)關(guān)系。單獨采用關(guān)系型數(shù)據(jù)庫,不能有效解決大量的非結(jié)構(gòu)化數(shù)據(jù)的存儲和數(shù)據(jù)的并行計算問題;單獨采用列存儲數(shù)據(jù)庫,不能有效處理實體間的關(guān)聯(lián)關(guān)系。

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

[0006]針對上述問題,本發(fā)明采用關(guān)系型模型和鍵-值結(jié)構(gòu)結(jié)合的方法,提出了一種支持關(guān)系模型和鍵-值結(jié)構(gòu)的混合數(shù)據(jù)存儲方法,適用于具有關(guān)聯(lián)性的時序數(shù)據(jù),本發(fā)明不僅適用于數(shù)據(jù)的管理、存儲,還提高了數(shù)據(jù)進行分布式計算的讀取速度。本發(fā)明不僅可以單獨作為完整數(shù)據(jù)庫使用,還可以擴展為大型系統(tǒng)中部分的核心部分,提高數(shù)據(jù)管理質(zhì)量。
[0007]本發(fā)明采用的技術(shù)方案如下:
[0008]一種支持關(guān)系模型和鍵-值結(jié)構(gòu)的混合數(shù)據(jù)存儲方法,其步驟為:
[0009]I)根據(jù)待處理數(shù)據(jù)中的實體類別,在關(guān)系數(shù)據(jù)庫與鍵-值數(shù)據(jù)庫中分別建立多個實體表;
[0010]2)按照實體數(shù)據(jù)的屬性將該待處理數(shù)據(jù)分為穩(wěn)態(tài)屬性數(shù)據(jù)和非穩(wěn)態(tài)屬性數(shù)據(jù);
[0011]3)將穩(wěn)態(tài)屬性數(shù)據(jù)存儲到關(guān)系數(shù)據(jù)庫中;其中,實體類別i的穩(wěn)態(tài)屬性數(shù)據(jù)存儲到關(guān)系數(shù)據(jù)庫中該實體類別i對應(yīng)的實體表i中;
[0012]4)將非穩(wěn)態(tài)屬性數(shù)據(jù)存儲到鍵-值數(shù)據(jù)庫中;其中,實體類別j的非穩(wěn)態(tài)屬性數(shù)據(jù)存儲到鍵-值數(shù)據(jù)庫中該實體類別j對應(yīng)的實體表j中,所述鍵-值數(shù)據(jù)庫中的實體表根據(jù)時序數(shù)據(jù)屬性分為普通鍵-值實體表和時序鍵-值實體表,所述普通鍵-值實體表包括“內(nèi)容”與“關(guān)系”兩個列族,“內(nèi)容”列族存儲非穩(wěn)態(tài)數(shù)據(jù),“關(guān)系”列族記錄關(guān)聯(lián)不同實體間關(guān)聯(lián)關(guān)系;所述時序鍵-值實體表包括“內(nèi)容”列族,用于記錄同一時序索引下的非穩(wěn)態(tài)數(shù)據(jù)。
[0013]進一步的,所述關(guān)系數(shù)據(jù)庫中實體表的主鍵與所述鍵-值數(shù)據(jù)庫中實體表的行鍵共享同一值。
[0014]進一步的,所述時序鍵-值實體表中的行鍵為時序索引,與所述關(guān)系數(shù)據(jù)庫實體表中的一字段對應(yīng);具有時序數(shù)據(jù)屬性的實體通過時序索引關(guān)聯(lián)不同數(shù)據(jù)庫的數(shù)據(jù)。
[0015]進一步的,所述鍵-值數(shù)據(jù)庫中“關(guān)系”列族存儲不同實體關(guān)系數(shù)據(jù)庫中實體表的主鍵。
[0016]進一步的,當收到新的待處理數(shù)據(jù)時,將其存儲到關(guān)系數(shù)據(jù)庫與鍵-值數(shù)據(jù)庫中的方法為:
[0017]51)從該數(shù)據(jù)中提取具有穩(wěn)態(tài)屬性的實體數(shù)據(jù)并建立不同實體之間的對應(yīng)關(guān)系;然后選取一實體類型,將提取的該實體類型的實體數(shù)據(jù)查找并插入到所述關(guān)系數(shù)據(jù)庫中對應(yīng)的實體表,然后獲得該實體表的主鍵;然后將該實體類型的非穩(wěn)態(tài)數(shù)據(jù)更新到所述鍵-值數(shù)據(jù)庫中的對應(yīng)實體表中,并通過該主鍵對該實體類型的穩(wěn)態(tài)數(shù)據(jù)和非穩(wěn)態(tài)數(shù)據(jù)進行關(guān)聯(lián);
[0018]52)根據(jù)步驟51)的主鍵,將提取的其他實體類型的穩(wěn)態(tài)屬性數(shù)據(jù)插入到所述關(guān)系數(shù)據(jù)庫中對應(yīng)的實體表中,將同一實體類型的非穩(wěn)態(tài)屬性數(shù)據(jù)插入到所述鍵-值數(shù)據(jù)庫中對應(yīng)的實體表中;同一實體類型的穩(wěn)態(tài)數(shù)據(jù)數(shù)據(jù)與非穩(wěn)態(tài)屬性數(shù)據(jù),通過共享一設(shè)定主鍵進行關(guān)聯(lián);其中,對于時序?qū)嶓w類型的非穩(wěn)態(tài)屬性數(shù)據(jù),根據(jù)該時序類型的穩(wěn)態(tài)數(shù)據(jù)數(shù)據(jù)中的時序數(shù)據(jù)索引,將非穩(wěn)態(tài)數(shù)據(jù)插入到所述鍵-值數(shù)據(jù)庫的對應(yīng)實體表中;
[0019]53)將步驟51)、52)中用于關(guān)聯(lián)的主鍵插入到所述鍵-值數(shù)據(jù)庫的“關(guān)系”列族中。
[0020]進一步的,所述穩(wěn)態(tài)屬性數(shù)據(jù)包括實體主鍵、穩(wěn)態(tài)數(shù)據(jù)和需要被索引的結(jié)構(gòu)化數(shù)據(jù)。
[0021]進一步的,所述待處理數(shù)據(jù)為具有關(guān)聯(lián)性的時序數(shù)據(jù)。
[0022]本發(fā)明以交易數(shù)據(jù)舉例進行介紹,其步驟為:
[0023]I)采用關(guān)系模型和鍵-值結(jié)構(gòu),把交易數(shù)據(jù)按照實體類型區(qū)別。交易數(shù)據(jù)分為人員、賬戶、交易明細三個實體。實體按照是否有時序數(shù)據(jù)屬性,分普通實體與時序?qū)嶓w,人員與銀行賬戶屬于普通實體,交易明細屬于時序?qū)嶓w。
[0024]2)按照不同實體類別,在關(guān)系數(shù)據(jù)庫與鍵-值數(shù)據(jù)庫中對交易數(shù)據(jù)表進行不同方式管理。關(guān)系數(shù)據(jù)庫與鍵-值數(shù)據(jù)庫各存人員、銀行賬戶、交易明細三張實體表。在鍵-值數(shù)據(jù)庫中,人員與銀行賬戶的表屬于普通鍵-值實體表,交易明細的表屬于時序鍵-值實體表。
[0025]3)實體屬性數(shù)據(jù)按照不同類型,存儲于關(guān)系數(shù)據(jù)庫與鍵-值數(shù)據(jù)庫的不同表中。實體屬性數(shù)據(jù)按照是否經(jīng)常根據(jù)數(shù)據(jù)采集改變,分為穩(wěn)態(tài)數(shù)據(jù)與非穩(wěn)態(tài)數(shù)據(jù);穩(wěn)態(tài)屬性數(shù)據(jù)存儲于關(guān)系數(shù)據(jù)庫中,非穩(wěn)態(tài)屬性數(shù)據(jù)存儲于鍵-值數(shù)據(jù)庫中。關(guān)系數(shù)據(jù)庫中的表存儲實體主鍵、穩(wěn)態(tài)數(shù)據(jù)、需要被索引的結(jié)構(gòu)化數(shù)據(jù)等屬性數(shù)據(jù)。鍵-值數(shù)據(jù)庫普通鍵-值實體表分為“內(nèi)容”與“關(guān)系”兩個列族,“內(nèi)容”列族存儲非穩(wěn)態(tài)數(shù)據(jù),“關(guān)系”列族記錄關(guān)聯(lián)不同實體間關(guān)聯(lián)關(guān)系。鍵-值數(shù)據(jù)時序鍵-值實體表有“內(nèi)容”列族,記錄同一時序索引下的非穩(wěn)態(tài)數(shù)據(jù)。
[0026]4)實體間通過主鍵、時序索引確定唯一性與關(guān)聯(lián)關(guān)系。不同實體通過對應(yīng)關(guān)系數(shù)據(jù)庫的實體表的主鍵確定唯一性。普通實體通過關(guān)系數(shù)據(jù)庫的實體表的主鍵關(guān)聯(lián)不同數(shù)據(jù)庫的數(shù)據(jù),關(guān)系數(shù)據(jù)庫實體表的主鍵與鍵-值數(shù)據(jù)庫的行鍵共享同一值。時序索引是時序鍵-值實體表中的行鍵,對應(yīng)關(guān)系數(shù)據(jù)庫實體表中的一個字段,時序?qū)嶓w通過時序索引關(guān)聯(lián)不同數(shù)據(jù)庫的數(shù)據(jù)。不同實體間的關(guān)聯(lián),在關(guān)系數(shù)據(jù)庫中通過外鍵或時序索引關(guān)聯(lián);在鍵-值數(shù)據(jù)庫中由“關(guān)系”列族存儲主鍵得到不同實體間的關(guān)聯(lián)關(guān)系。
[0027]在上述數(shù)據(jù)庫存儲方案的基礎(chǔ)上,一種采用上述存儲方案的配套導(dǎo)入方法,其步驟包括:
[0028]I)從客戶端選擇導(dǎo)入單個或多個文件上傳后,發(fā)送到應(yīng)用服務(wù)器中進行解析。并且根據(jù)內(nèi)容,交互確定導(dǎo)入數(shù)據(jù)模板。解析同時,在分布式鍵-值數(shù)據(jù)庫中對源文件進行存儲。
[0029]2)根據(jù)交互確定的數(shù)據(jù)類別與不同實體在兩個數(shù)據(jù)庫表中的列名進行匹配并根據(jù)匹配結(jié)果對源數(shù)據(jù)進行對應(yīng)整理,將數(shù)據(jù)插入到對應(yīng)字段中。把源文件存轉(zhuǎn)為文本格式,存儲到分布式環(huán)境的文件系統(tǒng)中,在分布式環(huán)境中不同核心分布執(zhí)行步驟3與步驟5。
[0030]3)從源數(shù)據(jù)中提取人員、賬戶兩個實體,并且建立好人員與賬戶的對應(yīng)關(guān)系。通過人員與身份證號查找更新關(guān)系數(shù)據(jù)庫的人員表,把包括人員與身份證號在內(nèi)的穩(wěn)態(tài)數(shù)據(jù)插入到關(guān)系數(shù)據(jù)庫的人員表中,并且獲得人員表主鍵。把包括人員與卡號關(guān)聯(lián)關(guān)系在內(nèi)非穩(wěn)態(tài)數(shù)據(jù)更新到鍵-值數(shù)據(jù)庫的人員表中。人員穩(wěn)態(tài)數(shù)據(jù)與非穩(wěn)態(tài)數(shù)據(jù),通過共享人員表主鍵進彳T關(guān)聯(lián)。
[0031]4)根據(jù)返回的人員表主鍵,把賬戶穩(wěn)態(tài)數(shù)據(jù)插入到關(guān)系數(shù)據(jù)庫賬戶表中,把賬戶聯(lián)系方式在內(nèi)的非穩(wěn)態(tài)數(shù)據(jù)插入到鍵-值數(shù)據(jù)庫賬戶表中。賬戶穩(wěn)態(tài)數(shù)據(jù)與非穩(wěn)態(tài)數(shù)據(jù),通過共享銀行表主鍵進行關(guān)聯(lián)。
[0032]5)從源數(shù)據(jù)中獲取金額等交易明細穩(wěn)態(tài)數(shù)據(jù),之后插入到關(guān)系型數(shù)據(jù)庫的交易表中,獲得交易的主鍵。同時生成時序數(shù)據(jù)索引,根據(jù)明細的時序索引把交易的非穩(wěn)態(tài)數(shù)據(jù)插入到鍵-值數(shù)據(jù)庫的交易表中。
[0033]6)在步驟3和步驟4、5都完成后,把交易的主鍵,插入到鍵_值數(shù)據(jù)庫賬戶表的關(guān)系列族中,保證鍵-值數(shù)據(jù)庫銀行表與關(guān)系數(shù)據(jù)庫交易表的關(guān)聯(lián)關(guān)系。
[0034]采用該方法的數(shù)據(jù)導(dǎo)入過程,其特征包括:
[0035]I)按照導(dǎo)入源文件格式、內(nèi)容形式和字段文字含義,自動匹配、清洗數(shù)據(jù),并分發(fā)到分布式計算環(huán)境。
[0036]2)數(shù)據(jù)導(dǎo)入過程,在分布式環(huán)境中再按照主邏輯的情況下,可以大規(guī)模并行導(dǎo)入,同時有效保證了數(shù)據(jù)一致性。
[0037]采用該方法的數(shù)據(jù)讀取過程,其特征包括:
[0038]I)支持穩(wěn)態(tài)數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫中單獨讀取,支持非穩(wěn)態(tài)數(shù)據(jù)從鍵-值數(shù)據(jù)庫中單獨讀?。?br>[0039]2)支持從不同數(shù)據(jù)庫中混合讀取所需數(shù)據(jù)。
[0040]與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果如下:
[0041]I)數(shù)據(jù)庫管理方法基于分布式環(huán)境,存儲上線擴容簡單。
[0042]2)有效存儲包括原始數(shù)據(jù)、清洗后數(shù)據(jù)、分析數(shù)據(jù)在內(nèi)的多種不同結(jié)構(gòu)、不同業(yè)務(wù)數(shù)據(jù)。
[0043]3)分布式環(huán)境下存儲,更易于進行交易數(shù)據(jù)的分布式分析。
[0044]4)支持多文件與較大文件的資金
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1