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

一種數(shù)據(jù)存儲、讀取方法及裝置的制造方法

文檔序號:9371860閱讀:270來源:國知局
一種數(shù)據(jù)存儲、讀取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及存儲技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)存儲、讀取方法及裝置。
【背景技術(shù)】
[0002]在分布式數(shù)據(jù)庫中,數(shù)據(jù)一般是以KeyValue(鍵-值)的形式進行存儲的。其中,Key部分,用來唯一識別一行數(shù)據(jù),也是用來進行快速檢索數(shù)據(jù)的信息,例如,通過搜索一個數(shù)據(jù)的Key,就可以搜索到該數(shù)據(jù)。Key部分,通常是由用戶自定義的特定結(jié)構(gòu)。Value部分,用來存儲實際的數(shù)據(jù)??梢哉J(rèn)為,Key是一個標(biāo)識性信息,用于區(qū)分不同的數(shù)據(jù),value部分存儲的是真正的數(shù)據(jù)內(nèi)容。
[0003]在使用KeyValue格式存儲數(shù)據(jù)時,可以有不同的存儲方式,例如,一行只存儲一個Value,那么一個數(shù)據(jù)如果包括多個Value,則可能要分為多行進行存儲,這種存儲方式可以稱為單行單Value方式,或者例如,一行存儲多個Value,則一個數(shù)據(jù)可能總共存儲為一行,這種存儲方式可以稱為單行多Value方式。
[0004]現(xiàn)有技術(shù)中,應(yīng)用層每次在將數(shù)據(jù)存儲為KeyValue格式時,需要指定數(shù)據(jù)的存儲方式,例如需要指定每行究竟存儲多少個Value,在讀取時,應(yīng)用層需要將讀取的KeyValue格式的數(shù)據(jù)自行拼接為原本的數(shù)據(jù)。
[0005]可見,現(xiàn)有技術(shù)中的存儲方式,存儲策略需要應(yīng)用層參與指定或?qū)嵤?,對用戶來說體驗不太好,對應(yīng)用層來說負擔(dān)也比較大。而且,在存儲不同應(yīng)用的數(shù)據(jù)時,應(yīng)用層需要分別指定數(shù)據(jù)的存儲方式,存儲過程都較為復(fù)雜。

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

[0006]本發(fā)明實施例提供一種數(shù)據(jù)存儲、讀取方法及裝置,用于解決數(shù)據(jù)存儲過程較為復(fù)雜的技術(shù)問題。
[0007]第一方面,提供一種數(shù)據(jù)存儲方法,包括:
[0008]接收應(yīng)用層下發(fā)的待寫入的第一格式的第一數(shù)據(jù);
[0009]獲取所述第一格式的數(shù)據(jù)與第二格式的數(shù)據(jù)之間的第一映射關(guān)系;所述第二格式為KeyValue格式,所述第一映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性;
[0010]根據(jù)所述第一映射關(guān)系,將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為所述第二格式,得到第二數(shù)據(jù);
[0011]存儲所述第二數(shù)據(jù)。
[0012]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,在存儲所述第二數(shù)據(jù)之后,還包括:
[0013]根據(jù)更新前的第一映射關(guān)系將所述第二數(shù)據(jù)恢復(fù)為所述第一格式的所述第一數(shù)據(jù);
[0014]使用第二映射關(guān)系更新存儲的所述第一映射關(guān)系;所述第二映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性,且所述第一映射關(guān)系中的每個value對應(yīng)的行屬性與所述第二映射關(guān)系中的每個value對應(yīng)的行屬性不同,和/或,所述第一映射關(guān)系中的每個value對應(yīng)的列屬性與所述第二映射關(guān)系中的每個value對應(yīng)的列屬性不同;
[0015]根據(jù)更新后的第一映射關(guān)系將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為第三格式,得到第三數(shù)據(jù);
[0016]根據(jù)所述第三數(shù)據(jù)更新存儲的所述第二數(shù)據(jù)。
[0017]結(jié)合第一方面,在第一方面的第二種可能的實現(xiàn)方式中,在存儲所述第二數(shù)據(jù)之后,還包括:
[0018]若接收到應(yīng)用層下發(fā)的讀取所述第一數(shù)據(jù)的指令,對存儲的所述第二數(shù)據(jù)進行讀取;
[0019]根據(jù)所述第一映射關(guān)系,將所述第二數(shù)據(jù)的格式轉(zhuǎn)換為所述第一格式,得到第四數(shù)據(jù);
[0020]向應(yīng)用層反饋輸出所述第四數(shù)據(jù)。
[0021]第二方面,提供一種數(shù)據(jù)讀取方法,包括:
[0022]若接收到應(yīng)用層下發(fā)的讀取第一數(shù)據(jù)的指令,對存儲的第二數(shù)據(jù)進行讀取;
[0023]根據(jù)第一映射關(guān)系,將所述第二數(shù)據(jù)的KeyValue格式轉(zhuǎn)換為第一格式;所述第一映射關(guān)系用于表明根據(jù)所述第一格式的第一數(shù)據(jù)轉(zhuǎn)換得到的KeyValue格式的每個Value對應(yīng)的行屬性及列屬性;
[0024]向應(yīng)用層反饋輸出格式轉(zhuǎn)換后的數(shù)據(jù)。
[0025]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,在對存儲的第二數(shù)據(jù)進行讀取之前,還包括:
[0026]接收應(yīng)用層下發(fā)的待寫入的所述第一格式的所述第一數(shù)據(jù);
[0027]獲取所述第一格式的數(shù)據(jù)與第二格式的數(shù)據(jù)之間的所述第一映射關(guān)系;所述第二格式為KeyValue格式;
[0028]根據(jù)所述第一映射關(guān)系,將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為所述第二格式,得到所述第二數(shù)據(jù);
[0029]存儲所述第二數(shù)據(jù)。
[0030]結(jié)合第二方面,在第二方面的第二種可能的實現(xiàn)方式中,在存儲所述第二數(shù)據(jù)之后,還包括:
[0031]根據(jù)更新前的第一映射關(guān)系將所述第二數(shù)據(jù)恢復(fù)為所述第一格式的所述第一數(shù)據(jù);
[0032]使用第二映射關(guān)系更新存儲的所述第一映射關(guān)系;所述第二映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性,且所述第一映射關(guān)系中的每個value對應(yīng)的行屬性與所述第二映射關(guān)系中的每個value對應(yīng)的行屬性不同,和/或,所述第一映射關(guān)系中的每個value對應(yīng)的列屬性與所述第二映射關(guān)系中的每個value對應(yīng)的列屬性不同;
[0033]根據(jù)更新后的第一映射關(guān)系將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為第三格式,得到第三數(shù)據(jù);
[0034]根據(jù)所述第三數(shù)據(jù)更新存儲的所述第二數(shù)據(jù)。
[0035]第三方面,提供一種數(shù)據(jù)存儲裝置,包括:
[0036]接收模塊,用于接收應(yīng)用層下發(fā)的待寫入的第一格式的第一數(shù)據(jù);
[0037]獲取模塊,用于獲取所述第一格式的數(shù)據(jù)與第二格式的數(shù)據(jù)之間的第一映射關(guān)系;所述第二格式為KeyValue格式,所述第一映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性;
[0038]轉(zhuǎn)換模塊,用于根據(jù)所述第一映射關(guān)系,將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為所述第二格式,得到第二數(shù)據(jù);
[0039]操作模塊,用于存儲所述第二數(shù)據(jù)。
[0040]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,所述裝置還包括恢復(fù)模塊、第一更新模塊和第二更新模塊;
[0041]所述恢復(fù)模塊用于:在所述操作模塊存儲所述第二數(shù)據(jù)之后,根據(jù)更新前的第一映射關(guān)系將所述第二數(shù)據(jù)恢復(fù)為所述第一格式的所述第一數(shù)據(jù);
[0042]所述第一更新模塊用于:使用第二映射關(guān)系更新存儲的所述第一映射關(guān)系;所述第二映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性,且所述第一映射關(guān)系中的每個value對應(yīng)的行屬性與所述第二映射關(guān)系中的每個value對應(yīng)的行屬性不同,和/或,所述第一映射關(guān)系中的每個value對應(yīng)的列屬性與所述第二映射關(guān)系中的每個value對應(yīng)的列屬性不同;
[0043]所述轉(zhuǎn)換模塊還用于:根據(jù)更新后的第一映射關(guān)系將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為第三格式,得到第三數(shù)據(jù);
[0044]所述第二更新模塊用于:根據(jù)所述第三數(shù)據(jù)更新存儲的所述第二數(shù)據(jù)。
[0045]結(jié)合第三方面,在第三方面的第二種可能的實現(xiàn)方式中,所述裝置還包括讀取模塊和輸出模塊;
[0046]所述讀取模塊用于:在所述操作模塊存儲所述第二數(shù)據(jù)之后,若接收到應(yīng)用層下發(fā)的讀取所述第一數(shù)據(jù)的指令,對存儲的所述第二數(shù)據(jù)進行讀??;
[0047]所述轉(zhuǎn)換模塊還用于:根據(jù)所述第一映射關(guān)系,將所述第二數(shù)據(jù)的格式轉(zhuǎn)換為所述第一格式,得到第四數(shù)據(jù);
[0048]所述輸出模塊用于:向應(yīng)用層反饋輸出所述第四數(shù)據(jù)。
[0049]第四方面,提供一種數(shù)據(jù)讀取裝置,包括:
[0050]讀取模塊,用于若接收到應(yīng)用層下發(fā)的讀取第一數(shù)據(jù)的指令,對存儲的第二數(shù)據(jù)進行讀取;
[0051]轉(zhuǎn)換模塊,用于根據(jù)第一映射關(guān)系,將所述第二數(shù)據(jù)的KeyValue格式轉(zhuǎn)換為第一格式;所述第一映射關(guān)系用于表明根據(jù)所述第一格式的第一數(shù)據(jù)轉(zhuǎn)換得到的KeyValue格式的每個Value對應(yīng)的行屬性及列屬性;
[0052]輸出模塊,用于向應(yīng)用層反饋輸出格式轉(zhuǎn)換后的數(shù)據(jù)。
[0053]結(jié)合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,所述裝置還包括接收模塊、獲取模塊和操作模塊;
[0054]所述接收模塊用于:在所述讀取模塊對存儲的第二數(shù)據(jù)進行讀取之前,接收應(yīng)用層下發(fā)的待寫入的第一格式的所述第一數(shù)據(jù);
[0055]所述獲取模塊用于:獲取所述第一格式的數(shù)據(jù)與第二格式的數(shù)據(jù)之間的所述第一映射關(guān)系;所述第二格式為KeyValue格式;
[0056]所述轉(zhuǎn)換模塊還用于:根據(jù)所述第一映射關(guān)系,將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為所述第二格式,得到第二數(shù)據(jù);
[0057]所述操作模塊用于:存儲所述第二數(shù)據(jù)。
[0058]結(jié)合第四方面,在第四方面的第二種可能的實現(xiàn)方式中,所述裝置還包括恢復(fù)模塊、第一更新模塊和第二更新模塊;
[0059]所述恢復(fù)模塊用于:在所述操作模塊存儲第二數(shù)據(jù)之后,根據(jù)更新前的第一映射關(guān)系將所述第二數(shù)據(jù)恢復(fù)為所述第一格式的所述第一數(shù)據(jù);
[0060]所述第一更新模塊用于:使用第二映射關(guān)系更新存儲的所述第一映射關(guān)系;所述第二映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性,且所述第一映射關(guān)系中的每個value對應(yīng)的行屬性與所述第二映射關(guān)系中的每個value對應(yīng)的行屬性不同,和/或,所述第一映射關(guān)系中的每個value對應(yīng)的列屬性與所述第二映射關(guān)系中的每個value對應(yīng)的列屬性不同;
[0061]所述轉(zhuǎn)換模塊還用于:根據(jù)更新后的第一映射關(guān)系將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為第三格式,得到第三數(shù)據(jù);
[0062]所述第二更新模塊用于:根據(jù)所述第三數(shù)據(jù)更新存儲的所述第二數(shù)據(jù)。
[0063]第五方面,提供一種數(shù)據(jù)存儲裝置,包括:
[0064]接收器,用于接收應(yīng)用層下發(fā)的待寫入的第一格式的第一數(shù)據(jù);
[0065]處理器,用于獲取所述第一格式的數(shù)據(jù)與第二格式的數(shù)據(jù)之間的第一映射關(guān)系,并根據(jù)所述第一映射關(guān)系,將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為所述第二格式,得到第二數(shù)據(jù);所述第二格式為KeyValue格式,所述第一映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性;
[0066]存儲器,用于存儲所述第二數(shù)據(jù)。
[0067]結(jié)合第五方面,在第五方面的第一種可能的實現(xiàn)方式中,所述處理器還用于:
[0068]在通過所述存儲器存儲所述第二數(shù)據(jù)之后,根據(jù)更新前的第一映射關(guān)系將所述第二數(shù)據(jù)恢復(fù)為所述第一格式的所述第一數(shù)據(jù);
[0069]使用第二映射關(guān)系更新存儲的所述第一映射關(guān)系;所述第二映射關(guān)系用于表明根據(jù)所述第一格式的數(shù)據(jù)轉(zhuǎn)換得到的每個Value對應(yīng)的行屬性及列屬性,且所述第一映射關(guān)系中的每個value對應(yīng)的行屬性與所述第二映射關(guān)系中的每個value對應(yīng)的行屬性不同,和/或,所述第一映射關(guān)系中的每個value對應(yīng)的列屬性與所述第二映射關(guān)系中的每個value對應(yīng)的列屬性不同;
[0070]根據(jù)更新后的第一映射關(guān)系將所述第一數(shù)據(jù)的格式轉(zhuǎn)換為第三格式,得到第三數(shù)據(jù);
[0071 ] 根據(jù)所述第三數(shù)據(jù)更新存儲的所述第二數(shù)據(jù)。
[0072]結(jié)合第五方面,在第五方面的第二種可能的實現(xiàn)方式中,所述裝置還包括發(fā)送器;
[0073]所述處理器還用于:在通過所述存儲器存儲所述第二數(shù)據(jù)之后,若接收到應(yīng)用層下發(fā)的讀取所述第一數(shù)據(jù)的指令,對存儲的
當(dāng)前第1頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1