欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲(chǔ)模型轉(zhuǎn)換方法和裝置的制造方法

文檔序號(hào):10569924閱讀:314來源:國知局
存儲(chǔ)模型轉(zhuǎn)換方法和裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供存儲(chǔ)模型轉(zhuǎn)換方法和裝置,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫的存儲(chǔ)模型包括嵌套存儲(chǔ)模型,所述臨時(shí)數(shù)據(jù)庫的存儲(chǔ)模型包括二維表存儲(chǔ)模型??梢詫⒎顷P(guān)系型數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)轉(zhuǎn)換成用戶可直接使用的關(guān)系型存儲(chǔ)模型下的數(shù)據(jù),還可以將用戶需要存儲(chǔ)的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)轉(zhuǎn)換成非關(guān)系型存儲(chǔ)模型下的數(shù)據(jù)存儲(chǔ),在利用非關(guān)系型存儲(chǔ)優(yōu)勢(shì)的同時(shí)實(shí)現(xiàn)方便訪問和存儲(chǔ)。
【專利說明】
存儲(chǔ)模型轉(zhuǎn)換方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)庫領(lǐng)域,具體而言,涉及一種存儲(chǔ)模型轉(zhuǎn)換方法和裝置。
【背景技術(shù)】
[0002]隨著云計(jì)算、社交網(wǎng)絡(luò)等互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)量正在以極快的速度增長,數(shù)據(jù)靈活多變,數(shù)據(jù)類型呈多樣化。為了分析和利用這些龐大的數(shù)據(jù)資源,必須依賴有效的數(shù)據(jù)管理技術(shù)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫技術(shù)在數(shù)據(jù)處理、系統(tǒng)擴(kuò)展性等方面遇到了巨大的障礙,無法勝任大規(guī)模數(shù)據(jù)存儲(chǔ)的任務(wù)。與此同時(shí),非關(guān)系型數(shù)據(jù)庫NoSQUNot OnlySQL)技術(shù)迅速發(fā)展,因其具有非關(guān)系型、分布式、開源及水平擴(kuò)展等特性,是有效解決大數(shù)據(jù)存儲(chǔ)和分析的有效途徑。
[0003]大數(shù)據(jù)的出現(xiàn)給信息技術(shù)領(lǐng)域帶來了新的挑戰(zhàn),非關(guān)系型數(shù)據(jù)庫相比傳統(tǒng)的關(guān)系型數(shù)據(jù)庫更適合大數(shù)據(jù)量的信息的存儲(chǔ)。但是不同的非關(guān)系型數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)模型不同,數(shù)據(jù)訪問方式不一致,構(gòu)建多元異構(gòu)的大數(shù)據(jù)存儲(chǔ)系統(tǒng)變得十分復(fù)雜。因此,如何解決非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換問題是目前面臨的一大課題。

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

[0004]有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種存儲(chǔ)模型轉(zhuǎn)換方法和裝置。
[0005]本發(fā)明實(shí)施例提供的一種非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述方法包括:在所述原始數(shù)據(jù)庫中查找待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由嵌套存儲(chǔ)模型到二維表存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,所述行片段為包括至少一個(gè)行鍵的數(shù)據(jù)片段;獲取每個(gè)所述行片段的原始參數(shù),所述原始參數(shù)包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值;將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。
[0006]優(yōu)選地,所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)空間包括行存儲(chǔ)表,所述列存儲(chǔ)空間包括列存儲(chǔ)表,所述數(shù)值存儲(chǔ)空間包括數(shù)值存儲(chǔ)表,所述將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間,具體包括:將每個(gè)行片段的所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表;將每個(gè)行片段的所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表;將每個(gè)行片段的所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表。
[0007]優(yōu)選地,所述的將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在臨時(shí)數(shù)據(jù)庫之前,所述方法還包括:在所述臨時(shí)數(shù)據(jù)庫中檢驗(yàn)需要插入的所述列組和所述列標(biāo)識(shí)符是否存在,若不存在,則執(zhí)行插入操作。
[0008]優(yōu)選地,所述服務(wù)器并行獲取多個(gè)所述行片段的所述原始參數(shù),所述服務(wù)器并行將多個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,并行將多個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)空間,并行將多個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)空間。
[0009]本發(fā)明實(shí)施例提供的一種關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述方法包括:接收本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由二維表存儲(chǔ)模型到嵌套存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表;獲取每個(gè)所述數(shù)據(jù)段的所述臨時(shí)屬性;將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
[0010]優(yōu)選地,所述服務(wù)器并行獲取多個(gè)數(shù)據(jù)段的所述臨時(shí)屬性,并行將多個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,并行將多個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
[0011]本發(fā)明實(shí)施例提供的一種應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述裝置包括:待轉(zhuǎn)換數(shù)據(jù)查找單元,用于在所述原始數(shù)據(jù)庫中查找待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由嵌套存儲(chǔ)模型到二維表存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);行片段劃分單元,用于將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,所述行片段為包括至少一個(gè)行鍵的數(shù)據(jù)片段;行片段處理單元,用于獲取每個(gè)所述行片段的原始參數(shù),所述原始參數(shù)包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值;存儲(chǔ)單元,用于將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。
[0012]優(yōu)選地,所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)空間包括行存儲(chǔ)表,所述列存儲(chǔ)空間包括列存儲(chǔ)表,所述數(shù)值存儲(chǔ)空間包括數(shù)值存儲(chǔ)表,所述存儲(chǔ)單元具體包括:列組插入子單元,用于將每個(gè)行片段的所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表;列標(biāo)識(shí)符插入子單元,用于將每個(gè)行片段的所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表;數(shù)值插入子單元,用于將每個(gè)行片段的所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表。
[0013]優(yōu)選地,所述裝置還包括:驗(yàn)證單元,在所述臨時(shí)數(shù)據(jù)庫中檢驗(yàn)需要插入的所述列組和所述列標(biāo)識(shí)符是否存在,若不存在,則執(zhí)行插入操作。
[0014]本發(fā)明實(shí)施例提供的一種關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述裝置包括:待轉(zhuǎn)換數(shù)據(jù)接收單元,用于接收本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由二維表存儲(chǔ)模型到嵌套存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);數(shù)據(jù)段劃分單元,用于將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表;臨時(shí)屬性獲取單元,用于獲取每個(gè)所述數(shù)據(jù)段的所述臨時(shí)屬性;存儲(chǔ)單元,用于將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
[0015]與現(xiàn)有技術(shù)相比,本發(fā)明的存儲(chǔ)模型轉(zhuǎn)換方法和裝置,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫的存儲(chǔ)模型包括嵌套存儲(chǔ)模型,所述臨時(shí)數(shù)據(jù)庫的存儲(chǔ)模型包括二維表存儲(chǔ)模型。將欲轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,獲取每個(gè)所述行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值等,將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值等按照關(guān)系型存儲(chǔ)模型存儲(chǔ)到二維表存儲(chǔ)模型下的臨時(shí)數(shù)據(jù)庫中,即可實(shí)現(xiàn)非關(guān)系型數(shù)據(jù)庫的存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換。
[0016]相應(yīng)地,將欲實(shí)現(xiàn)關(guān)系型存儲(chǔ)模型到非關(guān)系型存儲(chǔ)模型轉(zhuǎn)換的待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,獲取每個(gè)所述數(shù)據(jù)段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值,將每個(gè)所述數(shù)據(jù)段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值按照非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型存儲(chǔ)在原始數(shù)據(jù)庫,即可實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫的轉(zhuǎn)換。本發(fā)明實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換方法和裝置,可以將非關(guān)系型數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)轉(zhuǎn)換成用戶可直接使用的關(guān)系型存儲(chǔ)模型下的數(shù)據(jù),還可以將用戶需要存儲(chǔ)的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)轉(zhuǎn)換成非關(guān)系型存儲(chǔ)模型下的數(shù)據(jù)存儲(chǔ),在利用非關(guān)系型存儲(chǔ)優(yōu)勢(shì)的同時(shí)實(shí)現(xiàn)方便訪問和存儲(chǔ)。
[0017]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
[0019]圖1為本發(fā)明較佳實(shí)施例提供的服務(wù)器與本地終端進(jìn)行交互的示意圖。
[0020]圖2為本發(fā)明較佳實(shí)施例提供的服務(wù)器的方框示意圖。
[0021]圖3本發(fā)明較佳實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的流程圖。
[0022]圖4是本發(fā)明較佳實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的示意圖。
[0023]圖5是本發(fā)明較佳實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的流程圖。
[0024]圖6本發(fā)明較佳實(shí)施例提供的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的流程圖。
[0025]圖7本發(fā)明較佳實(shí)施例提供的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的示意圖。
[0026]圖8為本發(fā)明較佳實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置的模塊示意圖。
[0027]圖9為本發(fā)明較佳實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置的存儲(chǔ)單元的模塊示意圖。
[0028]圖10為發(fā)明較佳實(shí)施例提供的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置的模塊示意圖。
【具體實(shí)施方式】
[0029]下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0030]實(shí)施例1
[0031]如圖1所示,是本發(fā)明較佳實(shí)施例提供的服務(wù)器101與本地終端102進(jìn)行交互的示意圖。所述本地終端102可以是個(gè)人電腦(personal computer,PC)、平板電腦、智能手機(jī)、個(gè)人數(shù)字助理(personal digital assistant,PDA)等。
[0032]所述服務(wù)器101通過網(wǎng)絡(luò)與一個(gè)或多個(gè)本地終端102進(jìn)行通信連接,以進(jìn)行數(shù)據(jù)通信或交互。所述服務(wù)器101可以是網(wǎng)絡(luò)服務(wù)器101、數(shù)據(jù)庫服務(wù)器101等。本實(shí)施例所提供的服務(wù)器101可以優(yōu)選為多個(gè)數(shù)據(jù)庫服務(wù)器101集成系統(tǒng),所述服務(wù)器101可以包括外設(shè)接口和內(nèi)設(shè)數(shù)據(jù)庫,所述外設(shè)接口可以為統(tǒng)一訪問接口,所述內(nèi)設(shè)數(shù)據(jù)庫可以包括臨時(shí)數(shù)據(jù)庫和原始數(shù)據(jù)庫,所述統(tǒng)一訪問接口用于接收本地終端102發(fā)送的數(shù)據(jù)請(qǐng)求,并將接收的數(shù)據(jù)請(qǐng)求發(fā)送至所述數(shù)據(jù)庫,并將所述數(shù)據(jù)庫反饋的數(shù)據(jù)和信息顯示反饋至本地終端102。
[0033]所述服務(wù)器101包括臨時(shí)數(shù)據(jù)庫和原始數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含多種非關(guān)系型數(shù)據(jù)庫,多個(gè)所述非關(guān)系型數(shù)據(jù)庫的種類可以包括多種,其數(shù)據(jù)模型(如鍵/值、列存儲(chǔ)、文檔性、圖型等)多樣且靈活,多種數(shù)據(jù)庫的訪問方式多為數(shù)據(jù)庫本身提供的API或命令行,在數(shù)據(jù)模型和訪問方式上標(biāo)準(zhǔn)不統(tǒng)一,根據(jù)其存儲(chǔ)模型特征可以將所述非關(guān)系型數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)模型定義為嵌套存儲(chǔ)模型,嵌套存儲(chǔ)模型下的數(shù)據(jù)一般不能直接提供給用戶使用。
[0034]所述臨時(shí)數(shù)據(jù)庫可以優(yōu)選為關(guān)系型數(shù)據(jù)庫,臨時(shí)數(shù)據(jù)庫存儲(chǔ)有與所述原始數(shù)據(jù)庫中存儲(chǔ)有資源表述,所述資源表述與原始數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)存在映射關(guān)系,所述資源表述可以包括資源內(nèi)容和資源地址,所述資源內(nèi)容可以為資源地址所指向的原始數(shù)據(jù)庫中的非關(guān)系型數(shù)據(jù)庫的存儲(chǔ)空間存儲(chǔ)的原始數(shù)據(jù)的提示信息等。所述臨時(shí)數(shù)據(jù)庫優(yōu)選為關(guān)系型數(shù)據(jù)庫,其存儲(chǔ)模型可以為二維表存儲(chǔ)模型,二維表存儲(chǔ)模型下的數(shù)據(jù)可以直接提供給用戶使用。
[0035]因此本發(fā)明實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換方法和裝置,用于實(shí)現(xiàn)非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型和關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型之間的相互轉(zhuǎn)換,既能將非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)提供給用戶直接使用,也能將用戶提供的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)轉(zhuǎn)換為非關(guān)系型存儲(chǔ)模型下的數(shù)據(jù)存儲(chǔ)在非關(guān)系型數(shù)據(jù)中。
[0036]如圖2所示,是所述服務(wù)器200的方框示意圖。所述服務(wù)器200包括存儲(chǔ)模型轉(zhuǎn)換裝置201、存儲(chǔ)器202、存儲(chǔ)控制器203、處理器204、外設(shè)接口 205、輸入輸出單元206、顯示單元207。
[0037]所述存儲(chǔ)器202、存儲(chǔ)控制器203、處理器204、外設(shè)接口 205、輸入輸出單元206、顯示單元207各元件相互之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號(hào)線實(shí)現(xiàn)電性連接。所述存儲(chǔ)模型轉(zhuǎn)換裝置201包括至少一個(gè)可以軟件或固件(firmware)的形式存儲(chǔ)于所述存儲(chǔ)器202中或固化在所述服務(wù)器200的操作系統(tǒng)(operating system,OS)中的軟件功能模塊。所述處理器204用于執(zhí)行存儲(chǔ)器202中存儲(chǔ)的可執(zhí)行模塊,例如所述存儲(chǔ)模型轉(zhuǎn)換裝置201包括的軟件功能模塊或計(jì)算機(jī)程序。
[0038]其中,存儲(chǔ)器202可以是,但不限于,隨機(jī)存取存儲(chǔ)器202(Random Access Memory,RAM),只讀存儲(chǔ)器202(Read Only Memory ,ROM),可編程只讀存儲(chǔ)器202 (ProgrammableRead-Only Memory,PR0M),可擦除只讀存儲(chǔ)器202(Erasable Programmable Read-OnlyMemory,EPR0M),電可擦除只讀存儲(chǔ)器202(Electric Erasable Programmable Read-OnlyMemory,EEPR0M)等。其中,存儲(chǔ)器202用于存儲(chǔ)程序,所述處理器204在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的流過程定義的服務(wù)器200所執(zhí)行的方法可以應(yīng)用于處理器204中,或者由處理器204實(shí)現(xiàn)。
[0039]處理器204可能是一種集成電路芯片,具有信號(hào)的處理能力。上述的處理器204可以是通用處理器204,包括中央處理器204(Central Processing Unit,簡稱CPU)、網(wǎng)絡(luò)處理器204(Network Processor,簡稱NP)等;還可以是數(shù)字信號(hào)處理器204(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫?shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器204可以是微處理器204或者該處理器204也可以是任何常規(guī)的處理器204等。
[0040]所述外設(shè)接口 205將各種輸入/輸入裝置耦合至處理器204以及存儲(chǔ)器202。在一些實(shí)施例中,外設(shè)接口 205,處理器204以及存儲(chǔ)控制器203可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
[0041]輸入輸出單元206用于提供給用戶輸入數(shù)據(jù)實(shí)現(xiàn)用戶與所述服務(wù)器200(或本地終端)的交互。所述輸入輸出單元206可以是,但不限于,鼠標(biāo)和鍵盤等。
[0042]顯示單元207在所述服務(wù)器200(或本地終端)與用戶之間提供一個(gè)交互界面(例如用戶操作界面)或用于顯示圖像數(shù)據(jù)給用戶參考。在本實(shí)施例中,所述顯示單元207可以是液晶顯示器或觸控顯示器。若為觸控顯示器,其可為支持單點(diǎn)和多點(diǎn)觸控操作的電容式觸控屏或電阻式觸控屏等。支持單點(diǎn)和多點(diǎn)觸控操作是指觸控顯示器能感應(yīng)到來自該觸控顯示器上一個(gè)或多個(gè)位置處同時(shí)產(chǎn)生的觸控操作,并將該感應(yīng)到的觸控操作交由處理器204進(jìn)行計(jì)算和處理。
[0043]請(qǐng)參閱圖3和圖4,圖3是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖2所示的存儲(chǔ)模型轉(zhuǎn)換裝置的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的流程圖,圖4是本發(fā)明較佳實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換方法的示意圖。所述方法應(yīng)用于上述服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫。下面將對(duì)圖3所示的具體流程進(jìn)行詳細(xì)闡述。
[0044]步驟S301,在原始數(shù)據(jù)庫中查找待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由嵌套存儲(chǔ)模型到二維表存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù)。
[0045]本實(shí)施例所提供的存儲(chǔ)模型轉(zhuǎn)換方法應(yīng)用于服務(wù)器,所述服務(wù)器連接有本地終端,所述本地終端設(shè)置有統(tǒng)一訪問接口,用于接收用戶輸入的數(shù)據(jù)獲取請(qǐng)求。所述數(shù)據(jù)獲取請(qǐng)求可以包括欲獲取數(shù)據(jù)的目錄信息,所述欲獲取數(shù)據(jù)可以為單個(gè)的數(shù)據(jù),或者是一定存儲(chǔ)單元的數(shù)據(jù)集合等。本地終端在接收到用戶輸入的數(shù)據(jù)請(qǐng)求后,將所述數(shù)據(jù)請(qǐng)求發(fā)送至所述服務(wù)器。
[0046]所述服務(wù)器的所述臨時(shí)數(shù)據(jù)庫中預(yù)設(shè)有與原始數(shù)據(jù)庫中存儲(chǔ)的每個(gè)所述原始數(shù)據(jù)對(duì)應(yīng)的資源表述,所述資源表述可以包括資源內(nèi)容和資源地址。所述資源內(nèi)容包括原始數(shù)據(jù)的提示信息,可以為數(shù)據(jù)目錄或者數(shù)據(jù)存儲(chǔ)行列的主鍵等,也可以包括數(shù)據(jù)的表達(dá)格式,如XML、JS0N等。所述資源地址為該資源內(nèi)容所指向的數(shù)據(jù)在原始數(shù)據(jù)庫中的原始數(shù)據(jù)的存儲(chǔ)地址,可以使用統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifier,或URI))來命名和描述資源的地址。
[0047]所述服務(wù)器在接收到本地終端發(fā)送的數(shù)據(jù)請(qǐng)求后,在臨時(shí)數(shù)據(jù)庫存儲(chǔ)的資源表述庫中,查找與所述數(shù)據(jù)獲取請(qǐng)求對(duì)應(yīng)的資源表述。所述服務(wù)器根據(jù)所述資源地址查找該資源地址所指向的存儲(chǔ)區(qū)域,在查找的所述存儲(chǔ)區(qū)域內(nèi)查找所述資源內(nèi)容所指向的數(shù)據(jù),所述欲獲取數(shù)據(jù)的存儲(chǔ)模型為嵌套存儲(chǔ)模型,需要將該數(shù)據(jù)的存儲(chǔ)模型轉(zhuǎn)換為二維表存儲(chǔ)模型,所述欲獲取數(shù)據(jù)即為欲轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)的存儲(chǔ)模型需要由嵌套存儲(chǔ)模型轉(zhuǎn)換為二維表存儲(chǔ)模型
[0048]步驟S302,將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,所述行片段為包括至少一個(gè)行鍵的數(shù)據(jù)片段。
[0049]所述服務(wù)器在原始數(shù)據(jù)庫中查找到欲轉(zhuǎn)換數(shù)據(jù)后,通過處理器對(duì)于所述欲轉(zhuǎn)換數(shù)據(jù)執(zhí)行存儲(chǔ)模型轉(zhuǎn)換操作,所述轉(zhuǎn)換操作可以優(yōu)選使用Map Reduce執(zhí)行。
[0050]Map Reduce是一種編程模型,一般用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。概念"Map(映射)〃和"Reduce(歸約)〃,當(dāng)前的軟件實(shí)現(xiàn)是指定一個(gè)Map(映射)函數(shù),用來把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組。Map Reduce通過把對(duì)數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)實(shí)現(xiàn)可靠性;每個(gè)節(jié)點(diǎn)會(huì)周期性的返回它所完成的工作和最新的狀態(tài)。如果一個(gè)節(jié)點(diǎn)保持沉默超過一個(gè)預(yù)設(shè)的時(shí)間間隔,主節(jié)點(diǎn)(類同Google File System中的主服務(wù)器)記錄下這個(gè)節(jié)點(diǎn)狀態(tài)為死亡,并把分配給這個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)到別的節(jié)點(diǎn)。每個(gè)操作使用命名文件的原子操作以確保不會(huì)發(fā)生并行線程間的沖突;當(dāng)文件被改名的時(shí)候,系統(tǒng)可能會(huì)把他們復(fù)制到任務(wù)名以外的另一個(gè)名字上去。user program的副本中有一個(gè)稱為master,其余稱為worker ,master是負(fù)責(zé)調(diào)度的,為空閑worker分配作業(yè)(Map作業(yè)或者Reduce作業(yè),本實(shí)施例主要涉及Map過程,主要為Map作業(yè)),worker的數(shù)量也是可以由用戶指定的。
[0051]本實(shí)施例的所述服務(wù)器在獲取所述欲轉(zhuǎn)換數(shù)據(jù)時(shí),先通過MapReduce庫把欲轉(zhuǎn)換數(shù)據(jù)劃分為M份(Μ可以為用戶定義,可以根據(jù)文件的大小進(jìn)行自定義設(shè)置),每一份通常有16ΜΒ到64ΜΒ,然后使用fork將用戶進(jìn)程拷貝到集群內(nèi)其它機(jī)器上。每份任務(wù)包含一個(gè)行片段,由于行鍵為非關(guān)系型數(shù)據(jù)庫的基本存儲(chǔ)單元,因此每個(gè)所述行片段包括至少一個(gè)行鍵。
[0052]步驟S303,獲取每個(gè)所述行片段的原始參數(shù),所述原始參數(shù)包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值。
[0053]所述服務(wù)器的處理器在將所述欲轉(zhuǎn)換數(shù)據(jù)劃分成行片段之后,被分配了Map作業(yè)的worker,開始讀取對(duì)應(yīng)分片的輸入數(shù)據(jù),Map作業(yè)數(shù)量是由M決定的,和split--對(duì)應(yīng);
Map作業(yè)從輸入數(shù)據(jù)中抽取出鍵值對(duì),每一個(gè)鍵值對(duì)都作為參數(shù)傳遞給map函數(shù),map函數(shù)產(chǎn)生的中間鍵值對(duì)被緩存在內(nèi)存中jap作業(yè)從輸入數(shù)據(jù)中抽取出鍵值對(duì)時(shí),將每一個(gè)鍵值對(duì)作為參數(shù)傳遞給Map函數(shù),Map對(duì)于其所接收的行片段進(jìn)行處理,獲取該行片段的原始參數(shù),所述的原始參數(shù)可以包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值,每個(gè)Map獲取到其中的行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值。
[0054]步驟S304,將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。
[0055]Map函數(shù)在對(duì)于所述行片段進(jìn)行處理時(shí),獲取每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值,根據(jù)預(yù)設(shè)的映射規(guī)則,將所獲取的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在臨時(shí)數(shù)據(jù)庫中相應(yīng)的數(shù)據(jù)存儲(chǔ)空間。映射存儲(chǔ)規(guī)則具體包括:將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。所述行存儲(chǔ)空間、列存儲(chǔ)空間和數(shù)值存儲(chǔ)空間為設(shè)置在臨時(shí)數(shù)據(jù)庫中用于存儲(chǔ)轉(zhuǎn)換后數(shù)據(jù)的二維表,所述行存儲(chǔ)空間可以為獨(dú)立的行存儲(chǔ)表,所述列存儲(chǔ)空間可以為獨(dú)立的列存儲(chǔ)表,所述數(shù)值存儲(chǔ)表可以為獨(dú)立的數(shù)值存儲(chǔ)表,當(dāng)然,也可以設(shè)置多個(gè)獨(dú)立存儲(chǔ)表格,每個(gè)存儲(chǔ)表格包括行存儲(chǔ)空間、列存儲(chǔ)空間和數(shù)值存儲(chǔ)空間,每個(gè)存儲(chǔ)表格可以用于存放一個(gè)完整的行片段的臨時(shí)屬性,例如行、列、單元格等。
[0056]上述的存儲(chǔ)模型轉(zhuǎn)換過程,所述服務(wù)器需要將欲轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,獲取其中的每個(gè)所述行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值,所述的獲取過程可以為并行獲取過程,即是并行獲取多個(gè)行片段的原始參數(shù),包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值等,所述的將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。的過程也可以為并行存儲(chǔ)過程。對(duì)于多個(gè)行片段的相同的處理過程采用并行處理的方式,可以極大程度地節(jié)省處理時(shí)間、提高處理進(jìn)度和準(zhǔn)確率。
[0057]上述本發(fā)明實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法,應(yīng)用于服務(wù)器,服務(wù)器包括非關(guān)系型數(shù)據(jù)庫嵌套存儲(chǔ)模型的原始數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫二維表存儲(chǔ)模型的臨時(shí)數(shù)據(jù)庫,使用Map函數(shù)將所查找的嵌套存儲(chǔ)模型的欲轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,獲取每個(gè)所述行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值,將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在二維表存儲(chǔ)模型下的臨時(shí)數(shù)據(jù)庫中,即可實(shí)現(xiàn)了非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換,可以將用戶需求的數(shù)據(jù)從非關(guān)系型數(shù)據(jù)庫查找到之后自動(dòng)轉(zhuǎn)換存儲(chǔ)模型,方便用戶可以直接利用。
[0058]上述本發(fā)明實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換方法中,所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)空間包括行存儲(chǔ)表,所述列存儲(chǔ)空間包括列存儲(chǔ)表,所述數(shù)值存儲(chǔ)空間包括數(shù)值存儲(chǔ)表,上述步驟S304:將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間,可以具體包括如圖5所述的步驟:
[0059]S501,將所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表;
[0060]S502,將所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表;
[0061]S503,將所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表。
[0062]所述服務(wù)器采用對(duì)應(yīng)存儲(chǔ)的方式將非關(guān)系型存儲(chǔ)模型的相關(guān)數(shù)據(jù)存儲(chǔ)在臨時(shí)數(shù)據(jù)庫中,優(yōu)選在臨時(shí)數(shù)據(jù)庫中設(shè)置行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表。獲取每個(gè)行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值之后,將所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表中,將所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表中,將所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表中。可以在所述行存儲(chǔ)表中查找所有行片段的行鍵的外鍵和所述行片段的列組,通過所述行片段的列組與所述列組的外鍵的對(duì)應(yīng)關(guān)系查找到所對(duì)應(yīng)的列存儲(chǔ)表,在所述列存儲(chǔ)表中獲取所述列標(biāo)識(shí)符,根據(jù)所述列標(biāo)識(shí)符和該列標(biāo)識(shí)符的外鍵的對(duì)應(yīng)關(guān)系查找到所述數(shù)值存儲(chǔ)表,在所查找的所述數(shù)值存儲(chǔ)表中查找到所需要的數(shù)值。
[0063]為了保證行鍵、列組、列標(biāo)識(shí)符和數(shù)值唯一存在,所述的將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在臨時(shí)數(shù)據(jù)庫之前,所述方法還包括:
[0064]在臨時(shí)數(shù)據(jù)庫中檢驗(yàn)需要插入的所述列組和所述列標(biāo)識(shí)符是否為未存在狀態(tài),若是,則執(zhí)行存儲(chǔ)操作。
[0065]上述本發(fā)明實(shí)施例提供的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型存儲(chǔ)模型轉(zhuǎn)換方法,應(yīng)用于服務(wù)器,服務(wù)器包括非關(guān)系型數(shù)據(jù)庫嵌套存儲(chǔ)模型的原始數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫二維表存儲(chǔ)模型的臨時(shí)數(shù)據(jù)庫,使用Map函數(shù)將所查找的嵌套存儲(chǔ)模型的欲轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,獲取每個(gè)所述行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值,將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在二維表存儲(chǔ)模型下的臨時(shí)數(shù)據(jù)庫中,即可實(shí)現(xiàn)了非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換。所述的行片段劃分、行鍵、列組、列標(biāo)識(shí)符和數(shù)值等的獲取過程和轉(zhuǎn)換存儲(chǔ)過程均可以通過Map并行處理,以提高轉(zhuǎn)換效率和準(zhǔn)確率,將每個(gè)行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值插入所述臨時(shí)數(shù)據(jù)庫時(shí),利用相應(yīng)數(shù)據(jù)與其外鍵的對(duì)應(yīng)關(guān)系分表格存儲(chǔ)在相應(yīng)的數(shù)據(jù)表中,以實(shí)現(xiàn)簡單查詢。在列組和列標(biāo)識(shí)符插入之前檢驗(yàn)所述列組和列標(biāo)識(shí)符是否存在,以保證每個(gè)存儲(chǔ)空間所對(duì)應(yīng)的數(shù)值唯一存在,進(jìn)一步提高轉(zhuǎn)換存儲(chǔ)的準(zhǔn)確率。本實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換方法可以將用戶需求的數(shù)據(jù)從非關(guān)系型數(shù)據(jù)庫查找到之后自動(dòng)轉(zhuǎn)換存儲(chǔ)模型,方便用戶可以直接利用。
[0066]實(shí)施例2
[0067]參見圖6和圖7,圖6是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖2所示的存儲(chǔ)模型轉(zhuǎn)換裝置的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法的流程圖,圖7是存儲(chǔ)模型轉(zhuǎn)換方法的示意圖。所述方法應(yīng)用于上述的服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫。下面將對(duì)圖6所示的具體流程進(jìn)行詳細(xì)闡述。
[0068]S601,接收本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由二維表存儲(chǔ)模型到嵌套存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);
[0069]S602,將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表;
[0070]S603,獲取每個(gè)所述數(shù)據(jù)段的所述臨時(shí)屬性;
[0071]S604,將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
[0072]用戶通過本地終端輸入所需要存儲(chǔ)的數(shù)據(jù),即所述待轉(zhuǎn)換數(shù)據(jù),所述服務(wù)器需要將用戶輸入的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的所述待轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換為非關(guān)系型數(shù)據(jù)數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)存儲(chǔ)在原始數(shù)據(jù)庫的非關(guān)系型數(shù)據(jù)庫中,相應(yīng)的非關(guān)系型數(shù)據(jù)庫及其存儲(chǔ)模型的選擇可以由用戶輸入或者根據(jù)數(shù)據(jù)類型自由選擇。
[0073]服務(wù)器獲取所述本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù)之后,可以使用MapReduce對(duì)所述待轉(zhuǎn)換數(shù)據(jù)進(jìn)行轉(zhuǎn)換處理。首先,將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表,所述服務(wù)器獲取每個(gè)所述數(shù)據(jù)段的所述臨時(shí)屬性,包括航存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表等。通過外鍵獲取到與之關(guān)聯(lián)的列組、列標(biāo)識(shí)符與行鍵,獲將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值組裝成put實(shí)例,將組裝的每個(gè)數(shù)據(jù)段的put實(shí)例對(duì)應(yīng)存儲(chǔ)在原始數(shù)據(jù)庫中,例如,可以通過HTable寫入HBase中。服務(wù)器將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
[0074]上述的獲取每個(gè)所述數(shù)據(jù)段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值可以為并行獲取過程,所述的將每個(gè)所述數(shù)據(jù)段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在所述原始數(shù)據(jù)庫也可以為并行存儲(chǔ)過程,可以很大程度上提高存儲(chǔ)模型轉(zhuǎn)換的效率和準(zhǔn)確度。
[0075]本發(fā)明實(shí)施例提供的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法,應(yīng)用于上述的服務(wù)器,將待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,通過數(shù)據(jù)段的外鍵獲取與之關(guān)聯(lián)的列組、列標(biāo)識(shí)符和行鍵等信息,可以將所述數(shù)值、列組、列標(biāo)識(shí)符和行鍵組裝成put實(shí)例寫入原始數(shù)據(jù)庫相應(yīng)的非關(guān)系型數(shù)據(jù)庫中,即可實(shí)現(xiàn)將用戶需要存儲(chǔ)的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)轉(zhuǎn)換為非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)存儲(chǔ)在相應(yīng)的非關(guān)系型數(shù)據(jù)庫中存儲(chǔ)。本發(fā)明實(shí)施例提供的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型轉(zhuǎn)換方法的相關(guān)過程可參照上述非關(guān)系型數(shù)據(jù)庫到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型轉(zhuǎn)換方法,在此不再一一贅述。
[0076]實(shí)施例3
[0077]請(qǐng)參閱圖8,是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖2所示的服務(wù)器的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置的功能模塊示意圖。所述非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置主要包括:
[0078]待轉(zhuǎn)換數(shù)據(jù)查找單元801,用于在原始數(shù)據(jù)庫中查找待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由嵌套存儲(chǔ)模型到二維表存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);
[0079]行片段劃分單元802,用于將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,所述行片段為包括至少一個(gè)行鍵的數(shù)據(jù)片段;
[0080]行片段處理單元803,用于獲取每個(gè)所述行片段的原始參數(shù),所述原始參數(shù)包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值;
[0081 ]存儲(chǔ)單元804,用于將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。
[0082]請(qǐng)參閱圖9,是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖2所示的服務(wù)器的非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置的功能模塊示意圖。所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)空間包括行存儲(chǔ)表,所述列存儲(chǔ)空間包括列存儲(chǔ)表,所述數(shù)值存儲(chǔ)空間包括數(shù)值存儲(chǔ)表,所述存儲(chǔ)單元900具體包括:
[0083]列組插入子單元901,用于將所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表;
[0084]列標(biāo)識(shí)符插入子單元902,用于將所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表;
[0085]數(shù)值插入子單元903,用于將所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表。
[0086]在上述實(shí)施例的基礎(chǔ)上,所述裝置還可以包括:
[0087]驗(yàn)證單元,用于在所述臨時(shí)數(shù)據(jù)庫中檢驗(yàn)需要插入的所述列組和所述列標(biāo)識(shí)符是否存在,若不存在,則執(zhí)行插入操作。
[0088]實(shí)施例4
[0089]請(qǐng)參閱圖10,是本發(fā)明較佳實(shí)施例提供的應(yīng)用于圖2所示的服務(wù)器的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置的功能模塊示意圖。所述裝置1000應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述裝置1000包括:
[0090]待轉(zhuǎn)換數(shù)據(jù)接收單元1001,用于接收本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由二維表存儲(chǔ)模型到嵌套存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù);
[0091]數(shù)據(jù)段劃分單元1002,用于將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表;
[0092]臨時(shí)屬性獲取單元1003,用于獲取每個(gè)所述行片段的所述臨時(shí)屬性;
[0093]存儲(chǔ)單元1004,用于將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
[0094]本發(fā)明實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換裝置,包括非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置和關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置。與現(xiàn)有技術(shù)相比,本發(fā)明的存儲(chǔ)模型轉(zhuǎn)換方法和裝置,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫的存儲(chǔ)模型包括嵌套存儲(chǔ)模型,所述臨時(shí)數(shù)據(jù)庫的存儲(chǔ)模型包括二維表存儲(chǔ)模型。將欲轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,獲取每個(gè)所述行片段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值等,將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值等按照關(guān)系型存儲(chǔ)模型存儲(chǔ)到二維表存儲(chǔ)模型下的臨時(shí)數(shù)據(jù)庫中,即可實(shí)現(xiàn)非關(guān)系型數(shù)據(jù)庫的存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換。相應(yīng)地,將欲實(shí)現(xiàn)關(guān)系型存儲(chǔ)模型到非關(guān)系型存儲(chǔ)模型轉(zhuǎn)換的待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,獲取每個(gè)所述數(shù)據(jù)段的行鍵、列組、列標(biāo)識(shí)符和數(shù)值,將每個(gè)所述數(shù)據(jù)段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值按照非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型存儲(chǔ)在原始數(shù)據(jù)庫,即可實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫到非關(guān)系型數(shù)據(jù)庫的轉(zhuǎn)換。本發(fā)明實(shí)施例提供的存儲(chǔ)模型轉(zhuǎn)換方法和裝置,可以將非關(guān)系型數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)轉(zhuǎn)換成用戶可直接使用的關(guān)系型存儲(chǔ)模型下的數(shù)據(jù),還可以將用戶需要存儲(chǔ)的關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型下的數(shù)據(jù)轉(zhuǎn)換成非關(guān)系型存儲(chǔ)模型下的數(shù)據(jù)存儲(chǔ),在利用非關(guān)系型存儲(chǔ)優(yōu)勢(shì)的同時(shí)實(shí)現(xiàn)方便訪問和存儲(chǔ)。所述存儲(chǔ)模型轉(zhuǎn)換裝置的【具體實(shí)施方式】可參照上述方法實(shí)施例,在此不再贅述。
[0095]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法,其特征在于,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述方法包括: 在所述原始數(shù)據(jù)庫中查找待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由嵌套存儲(chǔ)模型到二維表存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù); 將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,所述行片段為包括至少一個(gè)行鍵的數(shù)據(jù)片段; 獲取每個(gè)所述行片段的原始參數(shù),所述原始參數(shù)包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值; 將每個(gè)所述行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)空間包括行存儲(chǔ)表,所述列存儲(chǔ)空間包括列存儲(chǔ)表,所述數(shù)值存儲(chǔ)空間包括數(shù)值存儲(chǔ)表,所述將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間,具體包括: 將每個(gè)所述行片段的所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表; 將每個(gè)所述行片段的所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表; 將每個(gè)所述行片段的所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的將每個(gè)所述行片段的所述行鍵、列組、列標(biāo)識(shí)符和數(shù)值存儲(chǔ)在臨時(shí)數(shù)據(jù)庫之前,所述方法還包括: 在所述臨時(shí)數(shù)據(jù)庫中檢驗(yàn)需要插入的所述列組和所述列標(biāo)識(shí)符是否存在,若不存在,則執(zhí)行插入操作。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)器并行獲取多個(gè)所述行片段的所述原始參數(shù),所述服務(wù)器并行將多個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,并行將多個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)空間,并行將多個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)空間。5.—種關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換方法,其特征在于,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述方法包括: 接收本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由二維表存儲(chǔ)模型到嵌套存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù); 將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表; 獲取每個(gè)所述數(shù)據(jù)段的所述臨時(shí)屬性; 將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述服務(wù)器并行獲取多個(gè)數(shù)據(jù)段的所述臨時(shí)屬性,并行將多個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,并行將多個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。7.—種非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置,其特征在于,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述裝置包括: 待轉(zhuǎn)換數(shù)據(jù)查找單元,用于在所述原始數(shù)據(jù)庫中查找待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由嵌套存儲(chǔ)模型到二維表存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù); 行片段劃分單元,用于將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)行片段,所述行片段為包括至少一個(gè)行鍵的數(shù)據(jù)片段; 行片段處理單元,用于獲取每個(gè)所述行片段的原始參數(shù),所述原始參數(shù)包括行鍵、列組、列標(biāo)識(shí)符和數(shù)值; 存儲(chǔ)單元,用于將每個(gè)行片段的所述行鍵存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的行存儲(chǔ)空間,將每個(gè)所述行片段的所述列組和所述列標(biāo)識(shí)符存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的列存儲(chǔ)空間,將每個(gè)所述行片段的所述數(shù)值存儲(chǔ)在所述臨時(shí)數(shù)據(jù)庫的數(shù)值存儲(chǔ)空間。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)空間包括行存儲(chǔ)表,所述列存儲(chǔ)空間包括列存儲(chǔ)表,所述數(shù)值存儲(chǔ)空間包括數(shù)值存儲(chǔ)表,所述存儲(chǔ)單元具體包括: 列組插入子單元,用于將每個(gè)行片段的所述列組和所述行鍵的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述行存儲(chǔ)表; 列標(biāo)識(shí)符插入子單元,用于將每個(gè)行片段的所述列標(biāo)識(shí)符和所述列組的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述列存儲(chǔ)表; 數(shù)值插入子單元,用于將每個(gè)行片段的所述數(shù)值和所述列標(biāo)識(shí)符的外鍵插入所述臨時(shí)數(shù)據(jù)庫的所述數(shù)值存儲(chǔ)表。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 驗(yàn)證單元,在所述臨時(shí)數(shù)據(jù)庫中檢驗(yàn)需要插入的所述列組和所述列標(biāo)識(shí)符是否存在,若不存在,則執(zhí)行插入操作。10.—種關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型到非關(guān)系型數(shù)據(jù)庫存儲(chǔ)模型的轉(zhuǎn)換裝置,其特征在于,應(yīng)用于服務(wù)器,所述服務(wù)器包括原始數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫,所述原始數(shù)據(jù)庫包含嵌套存儲(chǔ)模型的非關(guān)系型數(shù)據(jù)庫,所述臨時(shí)數(shù)據(jù)庫包含二維表存儲(chǔ)模型的關(guān)系型數(shù)據(jù)庫,所述裝置包括: 待轉(zhuǎn)換數(shù)據(jù)接收單元,用于接收本地終端發(fā)送的待轉(zhuǎn)換數(shù)據(jù),所述待轉(zhuǎn)換數(shù)據(jù)為需要進(jìn)行存儲(chǔ)模型由二維表存儲(chǔ)模型到嵌套存儲(chǔ)模型轉(zhuǎn)換的數(shù)據(jù); 數(shù)據(jù)段劃分單元,用于將所述待轉(zhuǎn)換數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)段,所述數(shù)據(jù)段包括至少一套完整的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)的臨時(shí)屬性包括行存儲(chǔ)表、列存儲(chǔ)表和數(shù)值存儲(chǔ)表; 臨時(shí)屬性獲取單元,用于獲取每個(gè)所述數(shù)據(jù)段的所述臨時(shí)屬性; 存儲(chǔ)單元,用于將每個(gè)所述數(shù)據(jù)段的所述行存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的行鍵,將每個(gè)所述數(shù)據(jù)段的所述列存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的列組和列標(biāo)識(shí)符,將每個(gè)所述數(shù)據(jù)段的所述數(shù)值存儲(chǔ)表存儲(chǔ)為所述原始數(shù)據(jù)庫的實(shí)體值。
【文檔編號(hào)】G06F17/30GK105930354SQ201610217480
【公開日】2016年9月7日
【申請(qǐng)日】2016年4月8日
【發(fā)明人】譚良, 胡波
【申請(qǐng)人】四川師范大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
土默特右旗| 驻马店市| 天等县| 永宁县| 德保县| 崇明县| 龙州县| 财经| 邯郸市| 申扎县| 道真| 十堰市| 桐城市| 西畴县| 许昌县| 古蔺县| 鄂伦春自治旗| 微山县| 青冈县| 武陟县| 乌兰县| 普定县| 时尚| 诏安县| 巴马| 定南县| 广东省| 安西县| 吴桥县| 繁峙县| 绥滨县| 平南县| 长汀县| 隆尧县| 山东省| 哈密市| 旺苍县| 秭归县| 东城区| 山阳县| 德保县|