【技術實現步驟摘要】
一種數據庫和文件系統的訪問方法和裝置
本專利技術涉及數據庫管理技術及文件系統訪問技術,尤其涉及一種數據庫和文件系統的訪問方法和裝置。
技術介紹
當前,現有的大數據處理平臺普遍采用混搭架構,一般包括關系數據庫管理系統(RDBMS,RelationalDatabaseManagementSystem)、海量并行處理(MPP,MassiveParallelProcessing)系統、非關系型數據庫(NoSQL,NotOnlySQL)和分布式計算Hadoop系統中的全部或者部分組件。但是,對于上述四種數據庫或文件系統進行訪問時,所需要的訪問方法各有不同,比如,常用的RDBMS系統都具有類似的存儲方式和訪問方式,數據處理一般采用結構化查詢語言(SQL,StructuredQueryLanguage),支持美國國家標準學會(ANSI,AmericanNationalStandardsInstitute)SQL92標準;常用的MPP系統具有不同于RDBMS系統的存儲方式和訪問方式,數據處理采用Shell腳本和SQL語言,通常支持ANSISQL92標準;常用的NoSQL數據庫一般都是開源的,如HBase數據庫是一種主要的列族NoSQL產品,數據保存在分布式文件系統(HDFS,HadoopDistributedFileSystem)中,HBase數據庫采用專用的Shell腳本語言處理數據;而Hadoop系統作為大數據基礎平臺,仍然采用HDFS文件系統保存數據,數據處理采用Map/Reduce函數來處理,采用Java語言開發。綜上所述,為了應付不同的數據庫或文件系統所對應的不 ...
【技術保護點】
一種數據庫和文件系統的訪問方法,其特征在于,所述方法包括:根據元數據確定輸入的標準結構化查詢語言SQL語句中的表名和關鍵字對應的源數據庫或源文件系統類型;當標準SQL語句中的表名和關鍵字的源數據庫或源文件系統類型為關系數據庫管理系統RDBMS或海量并行處理MPP系統時,將所述表名和關鍵字所在的標準SQL語句對應傳輸至RDBMS系統或MPP系統;當標準SQL語句中的表名和關鍵字的源數據庫或源文件系統類型為分布式計算Hadoop系統或非關系型數據庫NoSQL時,對所述表名和關鍵字進行解析,對應生成能夠在Hadoop系統或NoSQL數據庫運行的訪問語句,并將所述能夠在Hadoop系統或NoSQL數據庫運行的訪問語句對應地傳輸至Hadoop系統或NoSQL數據庫;從RDBMS系統或MPP系統或Hadoop系統或NoSQL數據庫接收訪問處理結果。
【技術特征摘要】
1.一種數據庫和文件系統的訪問方法,其特征在于,所述方法包括:根據元數據確定輸入的標準結構化查詢語言SQL語句中的表名和關鍵字對應的源數據庫或源文件系統類型;當標準SQL語句中的表名和關鍵字的源數據庫或源文件系統類型為關系數據庫管理系統RDBMS或海量并行處理MPP系統時,將所述表名和關鍵字所在的標準SQL語句對應傳輸至RDBMS系統或MPP系統;當標準SQL語句中的表名和關鍵字的源數據庫或源文件系統類型為分布式計算Hadoop系統或非關系型數據庫NoSQL時,對所述表名和關鍵字進行解析,對應生成能夠在Hadoop系統或NoSQL數據庫運行的訪問語句,并將所述能夠在Hadoop系統或NoSQL數據庫運行的訪問語句對應地傳輸至Hadoop系統或NoSQL數據庫;從RDBMS系統或MPP系統或Hadoop系統或NoSQL數據庫接收訪問處理結果。2.根據權利要求1所述的方法,其特征在于,所述元數據用于表征標準結構化查詢語言SQL語句中的表名和關鍵字與源數據庫或源文件系統類型的對應關系;相應地,根據元數據確定輸入的標準結構化查詢語言SQL語句中的表名和關鍵字對應的源數據庫或源文件系統類型,具體包括:確定所述標準SQL語句中的關鍵字是否包含map、reduce、filter等傳統SQL數據庫不支持的字段;若包含,則確定所述標準SQL語句中的關鍵字的數據源類型為Hadoop系統或NoSQL數據庫;若不包含,則將所述標準SQL語句中的表名和關鍵字與元數據進行比對,根據元數據中的數據來源字段確定表名和關鍵字的源數據庫或源文件系統類型。3.根據權利要求1所述的方法,其特征在于,所述當標準SQL語句中的表名和關鍵字的源數據庫或源文件系統類型為分布式計算Hadoop系統或非關系型數據庫NoSQL時,對所述表名和關鍵字進行解析,對應生成能夠在Hadoop系統或NoSQL數據庫運行的訪問語句,具體包括:按照預設的詞法分析策略,將所述標準SQL語句轉換成由<詞素,屬性>結構組成的句子;按照預設的語法分析策略,將所述標準SQL語句對應的<詞素,屬性>結構組成的句子生成對應的語法樹AST;按照預設的語義分析策略,輸出所述AST對應的邏輯查詢計劃,并由邏輯查詢計劃生成物理查詢計劃;其中,物理查詢計劃就是能夠在Hadoop系統或NoSQL數據庫上運行的訪問語句。4.根據權利要求3所述的方法,其特征在于,所述按照預設的語義分析策略,輸出所述AST對應的邏輯查詢計劃,并由邏輯查詢計劃生成物理查詢計劃,具體包括:根據標準SQL基本操作的順序遍歷所述AST,對所述AST的操作動作進行解析,當遇到標準SQL基本操作時就生成對應的邏輯算子,當遇到表達式時就調用對應的表達式分析并得到分析結果,進而生成由所述邏輯算子和所述表達式分析結果組成的有向無環圖DAG;按照拓撲排序遍歷所述DAG上的每一個邏輯算子,根據邏輯算子逐一生成對應的物理算子;最后,將生成的物理算子按照DAG對應的順序組成物理查詢計劃;其中,當生成的物理算子為需要重新分區排序后才能運行的物理算子時,在所述物理算子前加入一個Shuffle-Sort算子。5.根據權利要求1所述的方法,其特征在于,所述方法還包括:使用以下三種內存計算方法中的至少一種來提高分布式文件系統HDFS處理數據的速度:第一種:當HDFS文件系統第一次處理數據時,先從計算機磁盤中讀出數據;然后放入計算機內存中的彈性分布式數據集RDD中;從而使得后續的數據處理全部在計算機內存中進行;第二種:通過DAG記錄整個內存計算的過程,且不斷保存所述內存計算過程的快照;第三種:將HDFS文件系統中的文件裝入計算機內存,通過在計算機內存中模擬HDFS文件系統的...
【專利技術屬性】
技術研發人員:秦曉飛,王峰,胡建強,邢剛,
申請(專利權)人:中國移動通信集團山西有限公司,
類型:發明
國別省市:山西,14
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。