[發明專利]一種數據查詢的優化方法和裝置在審
| 申請號: | 201710162266.X | 申請日: | 2017-03-17 |
| 公開(公告)號: | CN107025273A | 公開(公告)日: | 2017-08-08 |
| 發明(設計)人: | 伍文聰;胡劍鋒;歐開健;顧全;郭琦 | 申請(專利權)人: | 南方電網科學研究院有限責任公司;中國南方電網有限責任公司電網技術研究中心;南京南瑞繼保電氣有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司11274 | 代理人: | 申健 |
| 地址: | 510080 廣東省廣州市越*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 查詢 優化 方法 裝置 | ||
1.一種數據查詢的優化方法,其特征在于,包括:
根據MapReduce作業的執行流程,建立基于MapReduce的查詢代價模型;
根據所述查詢代價模型計算操作樹上各MapReduce作業的代價;
獲取MapReduce作業中的至少一組冗余MapReduce作業;
獲取每一組冗余MapReduce作業中代價最小的MapReduce作業,并將該組冗余MapReduce作業合并為該組冗余MapReduce作業中代價最小的MapReduce作業。
2.根據權利要求1所述的方法,其特征在于,所述MapReduce作業的執行流程,包括:
讀取階段,映射函數從分布式文件系統中讀取數據;
映射階段,映射函數執行映射運算;
結合階段,將映射階段生成的中間結果保存在本地磁盤;
哈希階段,簡化函數從各網絡節點的磁盤中讀取中間結果作為簡化函數的輸入;
簡化階段,簡化函數執行簡化運算;
寫入階段,將簡化階段的運算結果寫入分布式文件系統。
3.根據權利要求2所述的方法,其特征在于,所述根據MapReduce作業的執行流程,建立基于MapReduce的查詢代價模型,包括:
根據公式一至公式五計算MapReduce作業的執行流程中讀取階段的代價;
公式一:CostRead=IOCostRead+NETCostReda+CUPCostRead
公式二:InputMapSize=Splitsize/InputcompressRatio;
公式三:IOCostRead=InputMapSize×HdfsReadTimePerSize;
公式四:NETCostReda=αInputMapSize×NetTimePerSize;
公式五:CUPCostRead=Splisize×InUncomprCPUTimePerSize;
其中,CostRead為讀取階段的代價;為InputMapSize為從分布式系統分布式文件系統中讀取的數據的大小;Splitsize為讀取的數據在分布式文件系統中時的分片大小;InputcompressRatio為讀取的數據的壓縮比;IOCostRead為讀取階段的讀取開銷;HdfsReadTimePerSize為在分布式文件系統中讀取單位數據量的時間長度;NETCostReda為讀取階段的網絡傳輸開銷;α為通過網絡獲取的數據在全部讀取數據的占比;NetTimePerSize為網路傳輸單位數據量的時間長度;CUPCostRead為讀取階段的處理器開銷;InUncomprCPUTimePerSize為處理器解壓縮單位數據量的時間長度;
根據公式六計算MapReduce作業的執行流程中映射階段的代價;
公式六:CPUCostMap=InputMapPairs×MapCPUTimePerPair;
其中,CPUCostMap為映射階段的處理器開銷;InputMapPairs映射函數讀取鍵值對的總數;MapCPUTimePerPair為映射階段處理器處理單位鍵值對的時間長度;
根據公式七計算MapReduce作業的執行流程中結合階段的代價;
公式七:IOCostCombine=OutMapPairs×LocalWriteTimePerPair;
其中,IOCostCombine為結合階段的代價;OutMapPairs為映射階段生成的鍵值對的總數;LocalWriteTimePerPair將單位鍵值對寫入本地磁盤的時間長度;
根據公式八至公式十一計算MapReduce作業的執行流程中哈希階段的代價;
公式八:CostShuffle=IOCostShuffle+NETCostShuffle+CPUCostShuffle;
公式九:IOCostShuffle=InputReducePairs×LocalReadTimePerPair;
公式十:NETCostShuffle=InputReduceSize×NetTimePerSize
公式十一:CPUCostShuffle=InputReducePairs×HashCPUTimePerPair;
其中,CostShuffle為哈希階段的代價;IOCostShuffle為哈希階段的讀寫開銷;InputReducePairs為簡化函數從各網絡節點的磁盤中讀取的鍵值對總數;InputReduceSize為簡化函數從各網絡節點的磁盤中讀取數據量的大小;LocalReadTimePerPair為從網絡節點中讀取單位鍵值對的時間長度;NETCostShuffle哈希階段的網絡傳輸開銷;NetTimePerPair為網絡傳輸單位數據量的時間長度;CPUCostShuffle為哈希階段處理器的開銷;HashCPUTimePerPair為哈希階段處理器處理單位鍵值對的時間長度;
根據公式十二計算MapReduce作業的執行流程中簡化階段的代價;公式十二:
CPUCostReduce=InputReducePairs×ReduceCPUTimePerPair;
其中,CPUCostReduce為簡化階段的代價;ReduceCPUTimePerPair為簡化階段處理器處理單位鍵值對的時間長度;
根據公式十三至十六計算MapReduce作業的執行流程中寫入階段的代價;
公式十三:COSTWrite=IOCostWrite+NETCostWrite+CPUCostWrite;
公式十四:IOCostWrite=OutReduceSize×HdfsWriteTimePerSize;
公式十五:NETCostWrite=OutReduceSize×NetTimeperSize;
公式十六:CPUCostwrite=InReducePairs×ReduceCPUTimeParPair+OutReduceSize×OutcomprCPUTimePerSize;
其中,COSTWrite為寫入階段的代價;IOCostWrite為寫入階段的讀寫開銷;OutReduceSize為簡化階段簡化函數輸出的數據量的大小;HdfsWriteTimePerSize為將單位數據量寫入分布式文件系統的時間;NETCostWrite寫入階段的網絡傳輸開銷;OutcomprCPUTimePerSize為處理器壓縮單位數據量的時間長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南方電網科學研究院有限責任公司;中國南方電網有限責任公司電網技術研究中心;南京南瑞繼保電氣有限公司,未經南方電網科學研究院有限責任公司;中國南方電網有限責任公司電網技術研究中心;南京南瑞繼保電氣有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710162266.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:包裝袋
- 下一篇:包裝袋(靚健葡萄糖)
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





