日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發明專利]一種基于鍵值庫的文件與結構化數據統一存儲方法有效

專利信息
申請號: 201110272333.6 申請日: 2011-09-14
公開(公告)號: CN102298641A 公開(公告)日: 2011-12-28
發明(設計)人: 王建民;朱妤晴;李旭嘉;楊義繁;丁貴廣 申請(專利權)人: 清華大學
主分類號: G06F17/30 分類號: G06F17/30
代理公司: 北京清亦華知識產權代理事務所(普通合伙) 11201 代理人: 羅文群
地址: 100084*** 國省代碼: 北京;11
權利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關鍵詞: 一種 基于 鍵值 文件 結構 數據 統一 存儲 方法
【權利要求書】:

1.一種基于鍵值庫的文件與結構化數據統一存儲方法,其特征在于該方法包括以下步驟:

(1)用戶初始化鍵值庫,鍵值庫中具有表格、列簇和列三種單元的結構化存儲模式,其中,表格包含多個列簇,每個列簇包含一個或多個列,數據按行存入表格中,每行數據在同一表格中用行鍵識別,數據存儲在列中,一行列數據存儲在一個或多個列簇中;

(2)建成對文件與結構化數據統一進行高效訪問的存儲接口模塊,在鍵值庫中為文件建立元數據表格,在元數據表格中存儲文件的屬性數據,所述的元數據表格包含元數據和內容數據兩個列簇,分別用以表示文件或文件所在的文件夾的屬性數據和文件的內容數據;

(3)存儲接口模塊通過將文件拆分成多個數據塊存儲在鍵值庫中,使用一行元數據和多行內容數據存儲一個文件,存儲形式如下:文件在所在文件系統中的路徑所形成的行鍵,與該行鍵相對應的行數據存儲在元數據列簇下,該行數據為文件的屬性數據,該屬性數據包括一列文件名、一列文件所在的父文件夾路徑和一列文件內容數據的第一個數據塊的行鍵;文件內容數據被切分成數據塊后存儲在內容數據列簇中,每個數據塊為一行,數據塊的行鍵為即時生成的通用唯一識別碼(UUID),所述的內容數據列簇包括一列下一個數據塊的行鍵、一列本數據塊的內容,若該數據塊為最后一個數據塊,則將下一個數據塊行鍵列的內容記為“文件結尾”;

(4)存儲接口模塊用一行元數據存儲一個文件夾,存儲形式如下:文件夾在所在文件系統中的路徑形成行鍵,與該行鍵相對應的行數據存儲在元數據列簇下,該行數據為文件夾的屬性數據,該屬性數據包括一列文件夾的名稱和一列文件夾所在的父文件夾路徑,若該文件夾存在子文件,則屬性數據還包括子文件路徑,若該文件夾存在子文件夾,則屬性數據還包括子文件夾路徑;

(5)當存儲接口模塊接到用戶的構造命令及相應構造參數時,存儲接口模塊返回用戶所訪問資源的存儲標識符,該存儲標識符標識文件夾、文件、表格、行、列簇和列6種資源,若用戶訪問的是文件夾或文件,則構造參數為路徑,若用戶訪問的是表格,則構造參數為表格名稱或表格名稱與一個或多個列簇名稱,若用戶訪問的是行,則構造參數為表格名稱和行鍵,若用戶訪問的是列簇,則構造參數為表格名稱、行鍵和列簇名稱,若用戶訪問的是列,則構造參數為表格名稱、行鍵、列簇名稱和列名稱;

(6)當存儲接口模塊接到用戶的創建命令及相應的存儲標識符時,存儲接口模塊對存儲標識符進行識別:

(6-1)若為文件、行、列簇或列中的任何一種資源,則向用戶返回“不支持此資源”信息;

(6-2)若為表格資源,則存儲接口模塊對鍵值庫進行檢查,若鍵值庫中已存在同名的表格,則向用戶返回“已存在同名表格”信息,若鍵值庫中不存在同名的表格,則在鍵值庫中創建含指定表格名稱的表格,并向用戶返回“創建成功”信息;

(6-3)若為文件夾資源,則存儲接口模塊對指定路徑進行判斷,若指定路徑下已存儲同名的文件或文件夾,則向用戶返回“已經存在同名資源”信息,若指定路徑下未存儲同名的文件或文件夾,則對父文件夾進行判斷,若不存在父文件夾,則重復步驟(6-3),創建父文件夾,使得父文件夾存在,若存在父文件夾,則在父文件夾所在行的元數據列簇下插入一個列,列的名稱為指定路徑名稱,并添加特殊前綴,列的數據為指定路徑,同時創建本文件夾路徑的所在行,行的數據分布在元數據列簇下,在該行元數據列簇下增加兩列,其中一列記錄本文件夾名稱,另一列記錄父文件夾路徑,向返回用戶“成功”信息;若創建父文件夾過程中出現“已存在同名資源”信息,則向用戶返回“失敗”信息;

(7)當存儲接口模塊接到用戶的刪除命令及相應的存儲標識符時,存儲接口模塊對存儲標識符進行識別:

(7-1)當存儲標識符標識的是表格資源時,存儲接口模塊對表格資源進行判斷:

(7-1-1)若鍵值庫中存在與該表格資源相對應的表格,則從鍵值庫中刪除與該表格資源相對應的表格,并向用戶返回“成功”信息;

(7-1-2)若鍵值庫中不存在與該表格資源相對應的表格,則向用戶返回“成功”信息;

(7-2)當存儲標識符標識的是列資源時,存儲接口模塊對列資源進行判斷:

(7-2-1)若鍵值庫中存在與該列資源相對應的列,則從鍵值庫中刪除與該列資源相對應的列,并向用戶返回“成功”信息;

(7-2-2)若鍵值庫中不存在與該列資源相對應的列,則向用戶返回“成功”信息;

(7-3)當存儲標識符標識的是列簇資源時,存儲接口模塊對列簇資源進行判斷:

(7-3-1)若鍵值庫中存在與該列簇資源相對應的列簇,則從鍵值庫中刪除與該列簇資源相對應的列簇,并向用戶返回“成功”信息;

(7-3-2)若鍵值庫中不存在與該列簇資源相對應的列簇,則向用戶返回“成功”信息;

(7-4)當存儲標識符標識的是行資源時,存儲接口模塊對行資源進行判斷:

(7-4-1)若鍵值庫存在與該行資源相對應的行時,存儲接口模塊對行中存儲了數據的各列簇使用步驟(7-3)逐一進行刪除,并向用戶返回“成功”信息;

(7-4-2)若鍵值庫不存在與該行資源相對應的行時,則向用戶返回“成功”信息;

(7-5)當存儲標識符標識的是文件資源時,存儲接口模塊從鍵值庫中的該文件的父文件夾所在元數據行中刪除記錄該文件路徑的列,同時從該文件所在元數據行中獲取該文件的首個數據塊所在行鍵,將首個數據塊作為當前數據塊,從當前數據塊所在行中讀出下一數據塊的行鍵后,刪除當前數據塊,再將下一數據塊置為當前數據塊,重復上述讀取和刪除的操作,直到讀出下一數據塊行鍵為“文件結尾”的數據塊,將下一數據塊的行鍵為“文件結尾”的數據塊置為當前數據塊后,刪除當前數據塊,同時刪除該文件的元數據行,并向用戶返回“成功”信息;

(7-6)當存儲標識符標識的是文件夾資源時,存儲接口模塊先從鍵值庫中的該文件夾的父文件夾所在元數據行中刪除記錄該文件夾路徑的列,從該文件夾所在元數據行中獲取存儲各子文件或子文件夾的路徑,并重復步驟(7-5)或(7-6),刪除各子文件或子文件夾,直到該文件夾不存在子文件或子文件夾,當該文件夾不存在子文件或子文件夾時,刪除該文件夾所在的元數據行,并向用戶返回“成功”信息;

(8)當存儲接口模塊接到用戶的字節上傳命令及相應的存儲標識符、字節數據、追加選項時,存儲接口模塊對存儲標識符進行識別:

(8-1)若存儲標識符標識的是文件夾、表格、行或列簇,則向用戶返回“不支持”信息;

(8-2)若存儲標識符標識的是列,對追加選項進行識別:

(8-2-1)當追加選項為假時,存儲接口模塊對與存儲標識符標識的列相關的表格和列簇進行判斷,若與存儲標識符標識的列相關的表格或列簇存在,則在鍵值庫中將字節數據存儲到存儲標識符標識的列,并向用戶返回“成功”信息,若與存儲標識符標識的列相關的表格或列簇不存在,則向用戶返回“失敗”信息,

(8-2-2)當追加選項為真時,存儲接口模塊對存儲標識符標識的列進行判斷,若存儲標識符標識的列存在,則從鍵值庫中讀取存儲標識符標識的列的數據,并將字節數據追加到存儲標識符標識的列的數據,存入存儲標識符標識的列中,若存儲標識符標識的列不存在,則向用戶返回“失敗”信息;

(8-3)若存儲標識符標識的是文件,則存儲接口模塊對鍵值庫進行查詢:

(8-3-1)若鍵值庫中不存在存儲標識符標識的文件,則對該文件的父文件夾進行判斷,若鍵值庫中不存在該文件的父文件夾,則使用步驟(6-3)創建該文件的父文件夾,使得鍵值庫中存在該文件的文件夾,則進行步驟(8-3-1-1);若鍵值庫中存在該文件的父文件夾,則進行步驟(8-3-1-1);

(8-3-1-1)在該文件的父文件夾的元數據行中增加一列記錄該文件的路徑,創建該文件的元數據行,確定該文件內容的第一個數據塊的行鍵,使用第一個數據塊的行鍵創建內容數據行,再將字節數據寫入第一個內容數據行的數據列,最后置下一數據塊行鍵列為“文件結尾”,并向用戶返回“成功”信息;

(8-3-2)若鍵值庫中存在與存儲標識符標識的文件同名的文件夾,則向用戶返回“同名文件夾存在”信息;

(8-3-3)若鍵值庫中存在存儲標識符標識的文件,則對追加選項進行判斷:

(8-3-3-1)若追加選項為假,則讀取該文件的元數據行,獲得文件內容第一個數據塊的行鍵,并將字節數據寫入第一個數據塊的行鍵所指示的內容數據行的數據列中,讀取第一數據塊內容數據行,獲得下一數據塊的行鍵,并將第一數據塊的下一數據塊行鍵列置為“文件結尾”,同時置下一數據塊為當前數據塊,讀取該當前數據塊的下一數據塊行鍵的列,獲得下一數據塊的行鍵,并刪除該當前數據塊的內容數據行,置下一數據塊為當前數據塊,重復上述讀取刪除操作,直到當前數據塊的下一數據塊行鍵列的值為“文件結尾”,刪除當前數據塊的內容數據行,向用戶返回“成功”信息;

(8-3-3-2)若追加選項為真,則讀取該文件元數據行,獲得文件內容第一個數據塊的行鍵,置第一個數據塊為當前數據塊,從該當前數據塊的行鍵所指示的內容數據行中讀取下一數據塊的行鍵,重復“置數據塊為當前數據塊,從該當前數據塊的行鍵所指示的內容數據行中讀取下一數據塊的行鍵”的操作,直到當前數據塊的內容數據行的下一數據塊行鍵列值為“文件結尾”,讀出當前數據塊的內容數據,并將字節數據追加到當前數據塊的內容數據后,得到新的當前數據塊內容數據,進行步驟(8-3-3-2-1);

(8-3-3-2-1)根據用戶設定的數據塊大小域值判斷當前數據塊內容數據大小,若當前數據塊內容數據大小超過數據塊大小域值,則將當前數據塊拆分出一塊等于數據塊大小域值的數據塊和最后一塊剩余內容數據塊,將當前數據塊設為大小等于數據塊大小域值的數據塊后,將當前數據塊內容數據寫入當前數據塊的內容數據行的數據中,構建下一數據塊的行鍵,并在當前數據塊的內容數據行中寫入下一數據塊的行鍵,并將最后一塊剩余內容數據塊設為當前數據塊,重復步驟(8-3-3-2-1),直到最后一塊剩余內容數據塊不超過數據塊大小域值,并將最后一塊內容數據塊寫入該數據塊行鍵指定的內容數據行的數據列中,并置下一數據塊行鍵列內容為“文件結尾”,向用戶返回“成功”信息;

(9)當存儲接口模塊接到用戶的本地路徑上傳命令及相應的存儲標識符、本地文件或本地文件夾路徑時,存儲接口模塊對存儲標識符進行識別:

(9-1)若存儲標識符標識的是表格、行、列簇或列,則向用戶返回“不支持”信息;

(9-2)若存儲標識符標識的是文件且本地路徑是文件夾,則向用戶返回“錯誤”信息;

(9-3)若存儲標識符標識的是文件夾且本地路徑是文件,則向用戶返回“錯誤”信息;

(9-4)若存儲標識符標識的是文件且本地路徑是文件,則存儲接口模塊使用步驟(6-3)創建該文件的父文件夾,若步驟(6-3)返回“失敗”信息,則向用戶返回“失敗”信息,若步驟(6-3)返回“已經存在同名資源”或“成功”信息,則在該文件所在父文件夾的元數據行中增加“該文件路徑”列,同時創建該文件的元數據行,確定該文件內容第一個數據塊的行鍵,置第一個數據塊為當前數據塊,并置當前文件讀取位置為0,從本地路徑所指示的文件內容的當前文件讀取位置向后讀取數據,使讀取的數據大小等于數據塊大小域值,形成第一個數據塊,將該第一個數據塊內容寫入當前數據塊行鍵所指示的內容數據行的數據列中,同時存儲接口模塊確定下一個數據塊的行鍵,并將下一個數據塊的行鍵寫入當前數據塊的內容數據行的下一數據塊行鍵列中,置下一個數據塊為當前數據塊,將當前文件讀取位置加上數據塊大小域值,重復上述讀取數據塊、寫入數據塊、確定行鍵、置當前數據塊的操作,直至讀到本地文件內容的最后一個數據塊,將最后一個數據塊內容寫入該數據塊內容數據行的數據列后,在該數據塊內容數據行的下一數據塊行鍵列中寫入“文件結尾”,向用戶返回“成功”信息;

(9-5)若存儲標識符標識的是文件夾且本地路徑是文件夾,使用步驟(6-3)創建該文件夾,若步驟(6-3)返回“已經存在同名資源”或“失敗”信息,則向用戶返回“已經存在同名資源”或“失敗”信息,若步驟(6-3)返回“成功”信息,則讀取本地路徑所指示文件夾的一個子文件或子文件夾i(i=1,2,..,n),并使用步驟(9-3)或(9-4)對子文件或子文件夾i進行上傳后,在存儲標識符標識的文件夾的元數據行中添加“子文件路徑”或“子文件夾路徑”列以及內容為子文件或子文件夾i的元數據行行鍵的列數據,重復上述上傳子文件或子文件夾的步驟,直到將n個子文件或子文件夾上傳完成后,向用戶返回“成功”信息,當重復過程中出現子文件或子文件夾上傳失敗,則向用戶返回“失敗”信息;

(10)當存儲接口模塊接到用戶的流上傳命令及相應的存儲標識符、追加選項時,存儲接口模塊初始化一個大小等于用戶設定的數據塊大小域值的本地內存緩存區,并將本地內存緩存區內容置為空,對存儲標識符進行識別:

(10-1)若存儲標識符標識的是文件夾、表格、行或列簇,則向用戶返回“不支持”信息;

(10-2)若存儲標識符標識的是列,則對追加選項進行判斷:

(10-2-1)若追加選項為假,則存儲接口模塊對存儲標識符中標識的列所在的表格和列簇進行判斷,若存儲標識符標識的列所在的表格和列簇不存在,則向用戶返回“失敗”信息,若存儲標識符標識的列所在的表格和列簇存在,則將存儲標識符標識的鍵值庫中的列數據置為空,并打開一個輸出流,向用戶返回該輸出流操作對象;

(10-2-2)若追加選項為真,則存儲接口模塊對存儲標識符中標識的列進行判斷,若存儲標識符標識的列不存在,則向用戶返回“失敗”信息,若存儲標識符標識的列存在,則將存儲標識符標識的鍵值庫中的列數據讀到本地內存緩存區中,將存儲標識符標識的鍵值庫中的列數據置為空,并打開一個輸出流,向用戶返回該輸出流操作對象;

(10-3)若存儲標識符標識的是文件,則存儲接口模塊對鍵值庫進行查詢:

(10-3-1)若鍵值庫中不存在存儲標識符標識的文件,則存儲接口模塊對該文件的父文件夾進行判斷,若鍵值庫中不存在該文件的父文件夾,則使用步驟(6-3)創建該文件的父文件夾,使得該文件的父文件夾存在,該文件的父文件夾存在后,在該文件的父文件夾的元數據行中增加“該文件路徑”列,同時創建該文件的元數據行,確定該文件內容第一個數據塊的行鍵,使用第一個數據塊的行鍵創建內容數據行,將該內容數據行的下一數據塊行鍵列置為“文件結尾”,并打開一個輸出流,向用戶返回該輸出流操作對象;

(10-3-2)若鍵值庫中存在與存儲標識符標識的文件同名的文件夾,則向用戶返回“同名文件夾存在”信息;

(10-3-3)若鍵值庫中存在存儲標識符標識的文件,則對追加選項進行判斷:

(10-3-3-1)若追加選項為假,則存儲接口模塊讀取該文件元數據行,獲得文件內容第一個數據塊的行鍵,讀取第一數據塊的行鍵所指示的內容數據行,以獲得下一數據塊的行鍵,將第一數據塊的下一數據塊行鍵列置為“文件結尾”,同時置下一數據塊為當前數據塊,讀取該當前數據塊內容數據行,以獲得下一數據塊的行鍵,刪除當前數據塊的內容數據行后置下一數據塊為當前數據塊,重復上述置當前數據塊、獲取下一數據塊行鍵、刪除當前數據行的操作直到獲取當前數據塊的下一數據塊行鍵列數據為“文件結尾”,刪除當前數據塊的內容數據行,打開一個輸出流,向用戶返回該輸出流操作對象;

(10-3-3-2)若追加選項為真,則存儲接口模塊讀取該文件元數據行,以獲得文件內容第一個數據塊的行鍵,置第一個數據塊為當前數據塊,讀取該當前數據塊的行鍵所指示的內容數據行,以獲得下一數據塊的行鍵,重復讀取下一數據塊行鍵列查找下一數據塊內容數據行的操作,直到當前數據塊的內容數據行的下一數據塊行鍵列值為“文件結尾”,將當前數據塊內容數據讀到本地內存緩存區中,打開一個輸出流,向用戶返回該輸出流操作對象;

(10-4)用戶使用上述輸出流操作對象,以字節或字節數組的方式向本地內存緩存區寫入數據,同時存儲接口模塊啟動一個計時器,若計時器計時超過用戶設定的未寫超時時間或用戶關閉了該輸出流操作對象,則存儲接口模塊關閉計時器,關閉輸出流,存儲接口模塊根據存儲標識符進行識別,根據識別結果分別進行步驟(10-4-1)或(10-4-2),若計時器計時在用戶設定的未寫超時時間內,且用戶寫入的數據將本地內存緩存區填滿時,存儲接口模塊對存儲標識符進行識別:

(10-4-1)若存儲標識符標識的是列,則存儲接口模塊從鍵值庫中讀取存儲標識符標識的列的數據,將本地內存緩存區數據追加到原列數據,形成新的列數據,將該新的列數據寫入存儲標識符標識的列中,置本地內存緩存區數據為空,重復步驟(10-4);

(10-4-2)若存儲標識符標識的是文件,則存儲接口模塊將本地內存緩存區數據寫入當前數據塊的內容數據行的數據列中,確定下一數據塊的行鍵,將下一數據塊的行鍵寫入當前數據塊的內容數據行的下一數據塊行鍵列中,將下一數據塊置為當前數據塊,創建當前數據塊行鍵所指示的內容數據行,將當前數據塊的內容數據行的下一數據塊行鍵列置為“文件結尾”,將本地內存緩存區數據置為空,重復步驟(10-4),

(11)當存儲接口模塊接到用戶字節下載命令及相應的存儲標識符時,存儲接口模塊對存儲標識符進行識別,若存儲標識符標識的是文件、文件夾、表格、行或列簇,則向用戶返回“不支持”信息;若存儲標識符標識的是列,則存儲接口模塊對鍵值庫進行查詢,若鍵值庫中不存在存儲標識符標識的列,則向用戶返回一個空字節數組;若鍵值庫中存在存儲標識符標識的列,則從鍵值庫中讀取存儲標識符標識的列數據,并將該列數據存入字節數組中,向用戶返回該字節數組;

(12)當存儲接口模塊接到用戶本地路徑下載命令及相應的存儲標識符、本地路徑時,存儲接口模塊對存儲標識符進行識別:

(12-1)若存儲標識符標識的是表格、行、列簇或列,則向用戶返回“不支持”信息;

(12-2)若存儲標識符標識的是文件或文件夾,則存儲接口模塊對存儲標識符和本地路徑進行識別:

(12-2-1)若存儲標識符標識的是文件,且本地路徑指示的是已經存在的文件或文件夾,則向用戶返回“本地文件/文件夾已經存在”信息;

(12-2-2)若存儲標識符標識的是文件,且本地路徑指示的文件不存在,則根據本地路徑創建本地文件,存儲接口模塊從鍵值庫中讀出存儲標識符標識的文件元數據行中的第一個數據塊的行鍵,將第一個數據塊設為當前數據塊,通過當前數據塊的行鍵讀取當前數據塊的內容數據,并將當前數據塊的內容數據追加到本地文件內容中,再讀取當前數據塊的內容數據行,獲得下一個數據塊的行鍵,再將下一個數據塊置為當前數據塊,重復上述讀取數據塊內容、追加本地文件內容、讀取下一數據塊行鍵、設置當前數據塊的操作直到當前數據塊的下一數據塊行鍵列數據為“文件結尾”時,向用戶返回“成功”信息;

(12-2-3)若存儲標識符標識的是文件夾,且本地路徑指示的是已經存在的文件,或存儲標識符標識的是文件夾,且本地路徑加標識符標識的文件夾名稱形成的新路徑指示的是已存在的本地文件或文件夾,則向用戶返回“本地文件/文件夾已經存在”信息;

(12-2-4)若存儲標識符標識的是文件夾,且不存在本地路徑指示的文件或文件夾,則存儲接口模塊在本地創建本地路徑指示的文件夾,并在本地路徑指示的文件夾下創建以標識符標識的文件夾名稱命名的文件夾,存儲接口模塊從鍵值庫中讀取存儲標識符標識的文件夾元數據行的“子文件路徑i”或“子文件夾路徑i”(i=1,2,..,n)各列數據,并重復步驟(12-2),下載該文件夾的所有子文件和子文件夾,并向用戶返回“成功”信息;

(13)當存儲接口模塊接到流下載命令及相應的存儲標識符時,存儲接口模塊對存儲標識符進行識別:

(13-1)若存儲標識符標識的是表格,則存儲接口模塊向用戶返回“不支持”信息;

(13-2)若存儲標識符標識的是列,則存儲接口模塊對存儲標識符標識的列進行判斷,若鍵值庫中不存在存儲標識符標識的列,則向用戶返回“列不存在”信息,若鍵值庫中存在存儲標識符標識的列,則從鍵值庫中將存儲標識符標識的列數據下載到本地內存緩存區中,并打開一個輸入流,向用戶返回該輸入流操作對象;

(13-3)若存儲標識符標識的是文件,存儲接口模塊對存儲標識符標識的文件進行判斷,若鍵值庫中不存在存儲標識符標識的文件,則向用戶返回“文件不存在”信息,若鍵值庫中存在存儲標識符標識的文件,則存儲接口模塊從鍵值庫中讀取該文件元數據行,以獲得第一個數據塊的內容數據行的行鍵,將第一個數據塊置為當前數據塊,使用當前數據塊的行鍵讀取其內容數據行的數據列中的數據,存入本地內存緩存區中,并打開一個輸入流,向用戶返回該輸入流操作對象;

(13-4)若存儲標識符標識的是文件夾,存儲接口模塊對存儲標識符標識的文件夾進行判斷,若鍵值庫中不存在存儲標識符標識的文件夾,則向用戶返回“文件夾不存在”信息,若鍵值庫中存在存儲標識符標識的文件夾,則存儲接口模塊從鍵值庫中讀取該文件夾元數據行的“子文件路徑i”或子文件夾路徑i”(i=1,2,..,n)各列數據,并存入本地內存緩存區中,打開一個輸入流,向用戶返回該輸入流操作對象;

(13-5)若存儲標識符標識的是列簇,存儲接口模塊對存儲標識符標識的列簇進行判斷,若鍵值庫中不存在存儲標識符標識的列簇,則向用戶返回“列簇不存在”信息,若鍵值庫中存在存儲標識符標識的列簇,則存儲接口模塊從鍵值庫中讀取列簇的所有列及列數據,并存入本地內存緩存區中,打開一個輸入流,向用戶返回該輸入流操作對象;

(13-6)若存儲標識符標識的是行,存儲接口模塊對存儲標識符標識的行進行判斷,若鍵值庫中不存在存儲標識符標識的行,則向用戶返回“行不存在”信息,若鍵值庫中存在存儲標識符標識的行,則存儲接口模塊從鍵值中讀取表格定義的列簇列表,并存入本地內存的緩存區中,依次對上述列簇列表中的每一列簇,重復步驟(13-5),但在用戶使用輸入流操作對象時不向用戶返回“讀取完畢”信息,直到遍歷列簇列表中的所有列簇,向用戶返回“讀取完畢”信息;

(13-7)用戶使用輸入流操作對象進行讀取時,輸入流操作對象對存儲標識符進行識別:

(13-7-1)若存儲標識符標識的是列,則輸入流操作對象以字節或字節數組的方式將數據從本地內存緩存區中讀出,輸入流的初始讀取位置是0,用戶每讀取一個字節或由n個字節組成的字節數組,讀取位置加1或加n,直到讀取位置與本地內存緩存區數據字節數相同時,則向用戶返回“讀取完畢”信息;

(13-7-2)若存儲標識符標識的是文件,則輸入流操作對象以字節或字節數組的方式將數據從本地內存緩存區中讀出,輸入流的初始讀取位置是0,用戶每讀取一個字節或由n個字節組成的字節數組,讀取位置加1或加n,直到讀取位置與本地內存緩存區數據字節數相同時,讀取當前數據塊的內容數據行,以獲得下一個數據塊的行鍵,將下一個數據塊置為當前數據塊,使用當前數據塊的行鍵讀取其內容數據行的數據列中的數據,存入本地內存緩存區中,重復上述步驟,直到讀取當前數據塊的內容數據行的下一數據塊行鍵列為“文件結尾”時,向用戶返回“讀取完畢”信息;

(13-7-3)若存儲標識符標識的是文件夾,則輸入流操作對象從本地內存緩存區中讀取下一子文件或子文件夾路徑,并向用戶返回下一子文件或子文件夾路徑,當所有子文件或子文件夾路徑已經讀取完成時,向用戶返回“讀取完畢”信息;

(13-7-4)若存儲標識符標識的是列簇,則輸入流操作對象從本地內存緩存區中讀取下一列,并向用戶返回下一列的名稱及數據,當所有列已經讀取完成時,向用戶返回“讀取完畢”信息。

下載完整專利技術內容需要扣除積分,VIP會員可以免費下載。

該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/201110272333.6/1.html,轉載請聲明來源鉆瓜專利網。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產權局專利說明書;

2、支持發明專利 、實用新型專利、外觀設計專利(升級中);

3、專利數據每周兩次同步更新,支持Adobe PDF格式;

4、內容包括專利技術的結構示意圖流程工藝圖技術構造圖

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關于我們 尋求報道 投稿須知 廣告合作 版權聲明 網站地圖 友情鏈接 企業標識 聯系我們

鉆瓜專利網在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: 亚洲精华国产欧美| 99精品少妇| 国产69久久| 国产精品综合久久| 国产69精品久久99不卡解锁版| 香港三日本8a三级少妇三级99 | 狠狠操很很干| 欧美片一区二区| 亚洲国产精品一区二区久久hs | 99精品欧美一区二区| 国产中文字幕91| 欧美乱妇在线观看| 午夜国内精品a一区二区桃色| 欧美精选一区二区三区| 国产精品久久久久久久久久不蜜臀| 91精品一区在线观看| 欧美日韩亚洲国产一区| 久久综合久久自在自线精品自| 国产精品二区一区| 91精品高清| 久久精品综合视频| 88国产精品视频一区二区三区| 色综合久久网| 欧美日韩一区二区三区在线播放 | 2020国产精品自拍| 强制中出し~大桥未久10| 日本一区二区三区免费视频| 欧美一区久久久| 久久久久偷看国产亚洲87| 色狠狠色狠狠综合| 国产白丝一区二区三区| 欧美在线一区二区视频| 伊人av综合网| 一区二区在线精品| 一区二区91| 中文字幕一区三区| 91超薄丝袜肉丝一区二区| 国产九九影院| 亚洲w码欧洲s码免费| 国产91丝袜在线熟| 91精品一二区| 国产在线拍偷自揄拍视频 | 欧美精品粉嫩高潮一区二区 | 国产黄色一区二区三区| 国产一区中文字幕在线观看| 亚洲欧美国产精品久久| 国产日韩欧美在线影视| 午夜精品99| 亚洲精品色婷婷| 欧美67sexhd| 男女视频一区二区三区| 国产一区在线免费观看| 91视频国产一区| 国产一级自拍片| 91性高湖久久久久久久久_久久99| 国产精品欧美久久| 制服丝袜二区| 久免费看少妇高潮a级特黄按摩 | 国产专区一区二区| 欧美资源一区| 少妇在线看www| 狠狠色噜噜狠狠狠狠米奇7777| 一区二区久久精品| www.久久精品视频| 丰满少妇高潮惨叫久久久一| 久久噜噜少妇网站| 国产欧美日韩亚洲另类第一第二页| 伊人av综合网| 狠狠插狠狠爱| 欧美日韩中文字幕一区二区三区 | 精品国产乱码久久久久久虫虫| 欧美精品一区二区久久久| 中文字幕一区二区三区乱码| 久久97国产| 91丝袜国产在线播放| 在线国产二区| 国产欧美日韩在线观看| 精品美女一区二区三区| 日韩精品中文字幕在线| 国产精品一区二区av日韩在线| 激情久久精品| 亚洲激情中文字幕| 99视频国产精品| 国产一级不卡视频| 精品国产一区二区三区四区vr| 在线观看v国产乱人精品一区二区| 黄毛片在线观看| 欧美精品二区三区| 欧美激情综合在线| 欧美精品中文字幕在线观看| 欧美日韩一区二区三区免费| xxxxhdvideosex| 国产午夜伦理片| 99国产午夜精品一区二区天美| 香港三日本三级三级三级| 久久免费视频99| 一区二区三区四区中文字幕| 国产精品禁18久久久久久| 韩漫无遮韩漫免费网址肉| 欧美日韩亚洲三区| 色噜噜狠狠色综合影视| 国产91视频一区| 年轻bbwwbbww高潮| 日韩av不卡一区| 亚洲日本国产精品| 欧美日韩中文字幕三区| 国产伦精品一区二区三区免费优势| 狠狠色噜噜狠狠狠狠2021免费| 91人人精品| 亚洲精品欧美精品日韩精品| 午夜一级电影| 91精彩刺激对白露脸偷拍| 国产91高清| 9999国产精品| 国内揄拍国产精品| 久久精品一二三| 二区三区视频| 99久久婷婷国产精品综合| 日本中文字幕一区| 国产日韩欧美一区二区在线播放| 久久久999精品视频| 91精品www| 午夜激情免费电影| 91精品国产91热久久久做人人| 国产乱对白刺激在线视频| 国产福利精品一区| 性视频一区二区三区| 中文字幕av一区二区三区高| 亚洲精品日本久久一区二区三区| 欧美亚洲国产日韩| 91精品国产91热久久久做人人 | 狠狠色狠狠色很很综合很久久| 中文字幕一二三四五区| 香蕉视频在线观看一区二区| 日本一区二区在线观看视频| 7777久久久国产精品| 国产有码aaaae毛片视频| 国产亚洲精品久久午夜玫瑰园 | 夜夜嗨av禁果av粉嫩av懂色av | 好吊妞国产欧美日韩软件大全| 国产97免费视频| 国产在线精品区| 中文字幕日韩有码| 色吊丝av中文字幕| 91久久香蕉国产日韩欧美9色| 精品国产一区二区三区麻豆免费观看完整版 | 欧美hdfree性xxxx| 亚洲欧洲另类精品久久综合| 亚洲精欧美一区二区精品| 亚洲高清国产精品| 国产一区二区91| 亚洲w码欧洲s码免费| 久久99国产视频| 伊人av中文av狼人av| 国内久久久| 色狠狠色狠狠综合| 亚洲欧美国产精品va在线观看| 国产999久久久| 久久精品国产综合| 日韩午夜一区| 亚洲欧美制服丝腿| 国产精品精品国内自产拍下载| 国产高清精品一区| 国产精品免费观看国产网曝瓜| 一区二区精品在线| 欧美777精品久久久久网| 天堂av一区二区三区| 99热久久精品免费精品| 91精品国产91热久久久做人人| 日韩精品一区三区| 日韩一级片免费观看| 欧美在线观看视频一区二区| 日韩欧美视频一区二区| 波多野结衣女教师30分钟| 日韩av中文字幕一区二区| 午夜av电影网| 日韩av在线网址| 一区精品二区国产| 国产一卡在线| 国模吧一区二区| 久久久久国产精品一区二区三区| 一区二区三区国产精品视频| 亚洲精品日韩激情欧美| 精品国产一区二区在线| 午夜av资源| 欧美精品在线观看一区二区| 久久er精品视频| 99久久夜色精品| 亚洲国产精品日本| 午夜影院一区二区| 国产精品日产欧美久久久久| 91麻豆精品国产91久久久更新资源速度超快 | 久久99精品国产麻豆婷婷| 国产一区二区三级| 91精品国产综合久久婷婷香| 欧美激情综合在线| 久久夜色精品国产噜噜麻豆| 91精品国模一区二区三区| 毛片大全免费看| 国产麻豆91欧美一区二区| 少妇又紧又色又爽又刺激视频网站| 亚洲日本国产精品| 国产精品综合久久| 夜夜嗨av一区二区三区中文字幕| 日韩av在线网址| 国产精品九九九九九九| 日韩精品中文字| 日韩av一二三四区| 亚洲综合日韩精品欧美综合区| 93精品国产乱码久久久| 久久午夜鲁丝片午夜精品| 久久久久久久国产| 久久精品亚洲一区二区三区画质| 国产精品乱码久久久久久久| 亚洲精品国产主播一区| 亚洲午夜精品一区二区三区| 日韩精品1区2区3区| 日韩中文字幕亚洲欧美| 午夜影院黄色片| 一色桃子av| 久久九九亚洲| 综合久久色| 福利片91| 国产乱码一区二区三区| 97人人模人人爽人人喊小说| 国产在线一区观看| 午夜影皖精品av在线播放| 91理论片午午伦夜理片久久| 日韩精品一二区| 精品国产鲁一鲁一区二区作者| 强行挺进女警紧窄湿润| 中文字幕在线一二三区| free×性护士vidos欧美| 97人人模人人爽人人喊38tv| 国产欧美日韩一级| 欧美精品在线视频观看| 一区二区三区香蕉视频| 欧洲在线一区| 精品日韩久久久| 日韩欧美国产高清91| 99国产午夜精品一区二区天美| 欧美高清性xxxxhdvideos| 久草精品一区| 亚洲精品www久久久久久广东| 国产精品你懂的在线| 狠狠色丁香久久综合频道|