• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種生成目標代碼的方法、數據處理的方法及裝置制造方法及圖紙

    技術編號:8489637 閱讀:241 留言:0更新日期:2013-03-28 08:31
    本發明專利技術提供了一種生成Map/Reduce模型的目標代碼的方法、數據處理的方法及裝置,其中生成Map/Reduce模型的目標代碼的方法,包括:A.獲取用戶指令;B.根據所述用戶指令生成中間碼原始圖;C.對所述中間碼原始圖進行分解,得到與Map/Reduce過程的各個執行階段對應的中間碼階段圖;D.將與Map/Reduce過程的各個執行階段對應的中間碼階段圖翻譯為Map/Reduce過程的各個執行階段的目標代碼。通過上述方式,降低了普通開發人員的工作難度,提高了代碼的可重用性,有利于代碼的移植和維護。

    【技術實現步驟摘要】
    一種生成目標代碼的方法、數據處理的方法及裝置
    本專利技術涉及數據處理技術,特別涉及一種生成Map/Reduce模型的目標代碼的方法、數據處理的方法及裝置。
    技術介紹
    分布式計算研究如何將一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然后把這些部分分配給許多計算機進行處理,最后把這些計算結果綜合起來得到最終的結果。而由Google提出的Map/Reduce模型,就是一個分布式計算模型。Map/ Reduce模型,通過Map階段,將可以并列執行的任務分別并列執行,然后再通過Reduce階段,將Map階段并列執行的任務產生的中間結果合并,從而得到最終結果。在現有技術中, 已經實現的Map/Reduce模型的分布式計算開發平臺,通常都是與開發語言緊密結合的, 這使得普通開發人員,當需要在自己的程序中嵌入分布式應用時,必須熟悉相應的Map/ Reduce平臺及其相應的語言,這增加了開發人員的開發難度,同時也降低了代碼的可重用性。請參考圖1,圖1為現有技術中采用Map/Reduce模型進行數據處理的方法的示意圖。 在圖1中,Map階段和Reduce階段的目標代碼,指的都是與某種開發語言結合的代碼,在現有的Map/Reduce模型的實現方式中,這些目標代碼都是由普通開發人員通過手工的方式來生成的。并且Map/Reduce過程可能存在多個階段(如圖1中的第一階段、第N階段),這些階段也是由普通開發人員通過手工代碼的方式進行劃分的,可見,在現有的Map/Reduce 分布式應用開發中,對普通開發人員的要求較高,并且由不同的開發人員開發的代碼,也很難重用。專利技術內容本專利技術所要解決的技術問題是提供一種生成Map/Reduce模型的目標代碼的方法、數據處理的方法及裝置,以解決現有技術采用Map/Reduce模型進行數據處理時存在的對普通開發人員而言,開發難度高,代碼可重用性差的缺陷。 本專利技術為解決技術問題而采用的技術方案是提供一種生成Map/Reduce模型的目標代碼的方法,包括:A.獲取用戶指令;B.根據所述用戶指令生成中間碼原始圖,所述中間碼原始圖由指代數據處理方式的節點和節點之間指代數據傳遞方向的有向邊構成;C.對所述中間碼原始圖進行分解,得到與Map/Reduce過程的各個執行階段對應的中間碼階段圖,其中所述執行階段有一個或多個;D.將與Map/Reduce過程的各個執行階段對應的中間碼階段圖翻譯為Map/Reduce過程的各個執行階段的目標代碼。根據本專利技術之一優選實施例,所述步驟B包括B1.將所述用戶指令轉化為多個不可再分割的數據處理操作;B2.將各個不可再分割的數據處理操作轉換為所述中間碼原始圖的各個節點,并根據所述用戶指令中的數據傳遞方向得到連接各個節點的有向邊,從而得到所述中間碼原始圖。根據本專利技術之一優選實施例,所述步驟C包括C1.按照預先定義的節點類型,在所述中間碼原始圖中隱含分組邏輯的節點前補充分組邏輯節點及聚合邏輯節點,得到中間 碼補充圖,所述預先定義的節點類型包括無分組邏輯節點、分組邏輯節點及隱含分組邏輯 的節點;C2.從所述中間碼補充圖的分組邏輯節點與聚合邏輯節點之間進行切分,并在切 分后的每個部分之間補充標記數據源的節點和按數據源標記接收相應數據的節點,得到與 Map/Reduce過程的各個執行階段對應的中間碼階段圖。根據本專利技術之一優選實施例,所述方法在步驟C前進一步包括對所述中間碼原 始圖中的節點進行優化;所述優化的策略包括以下S1、S2和S3中的至少一項S1.從所述 中間碼原始圖中的輸出節點開始向前遍歷,找出通過所述中間碼原始圖的有向邊能到達該 輸出節點的所有前置節點并進行標記,刪除所述中間碼原始圖中未被標記的節點;S2.將 等價節點進行合并,其中所述等價節點是除了數據源屬性不同,其他所有屬性均相同,且不 依賴于其他節點或依賴于相同節點的節點;S3.將僅依賴于一個節點且滿足合并策略的鄰 接節點進行合并。根據本專利技術之一優選實施例,所述S3采用的合并策略包括排序邏輯節點與取序 列值邏輯節點合并為一個排序邏輯節點,或兩個過濾邏輯節點合并為一個過濾邏輯節點, 或兩個選擇邏輯節點合并為一個選擇邏輯節點。根據本專利技術之一優選實施例,所述步驟D中,將所述中間碼階段圖中的每個節點 翻譯為所述目標代碼中的代表不可再分割的數據處理操作的一個類的實例,將所述中間碼 階段圖中的每條有向邊翻譯為所述目標代碼中的代表數據傳遞的一個方法。本專利技術還提供了一種數據處理方法,包括a.獲取待處理的數據;b.采用前文所 述的生成Map/Reduce模型的目標代碼的方法生成的目標代碼對所述待處理的數據進行處 理以得到處理結果。本專利技術還提供了 一種生成Map/Reduce模型的目標代碼的裝置,包括指令獲取單 元,用于獲取用戶指令;圖生成單元,用于根據所述用戶指令生成中間碼原始圖,所述中間 碼原始圖由指代數據處理方式的節點和節點之間指代數據傳遞方向的有向邊構成;分解單 元,用于對所述中間碼原始圖進行分解,得到與Map/Reduce過程的各個執行階段對應的中 間碼階段圖,其中所述執行階段有一個或多個;翻譯單元,用于將與Map/Reduce過程的各 個執行階段對應的中間碼階段圖翻譯為Map/Reduce過程的各個執行階段的目標代碼。根據本專利技術之一優選實施例,所述圖生成單元包括轉化子單元,用于將所述用戶 指令轉化為多個不可再分割的數據處理操作;圖生成子單元,用于將各個不可再分割的數 據處理操作轉換為所述中間碼原始圖的各個節點,并根據所述用戶指令中的數據傳遞方向 得到連接各個節點的有向邊,從而得到所述中間碼原始圖。根據本專利技術之一優選實施例,所述分解單元包括補充子單元,用于按照預先定義 的節點類型,在所述中間碼原始圖中隱含分組邏輯節點前補充分組邏輯節點及聚合邏輯節 點,得到中間碼補充圖,所述預先定義的節點類型包括無分組邏輯節點、分組邏輯節點及 隱含分組邏輯的節點;拆分子單元,用于從所述中間碼補充圖的分組邏輯節點與聚合邏輯 節點之間進行切分,并在切分后的每個部分之間補充標記數據源的節點和按數據源標記接 收相應數據的節點,得到與Map/Reduce過程的各個執行階段對應的中間碼階段圖。根據本專利技術之一優選實施例,所述裝置進一步包括優化單元,用于對所述中間碼 原始圖中的節點進行優化;所述優化的策略包括以下L1、L2和L3中的至少一項L1.從所述中間碼原始圖中的輸出節點開始向前遍歷,找出通過所述中間碼原始圖的有向邊能到達該輸出節點的所有前置節點并進行標記,刪除所述中間碼原始圖中未被標記的節點; L2.將等價節點進行合并,其中所述等價節點是除了數據源屬性不同,其他所有屬性均相同,且不依賴其他節點或依賴相同節點的節點;L3.將僅依賴一個節點且滿足合并策略的鄰接節點進行合并。根據本專利技術之一優選實施例,所述L3采用的合并策略包括排序邏輯節點與取序列值邏輯節點合并為一個排序邏輯節點,或兩個過濾邏輯節點合并為一個過濾邏輯節點, 或兩個選擇邏輯節點合并為一個選擇邏輯節點。根據本專利技術之一優選實施例,所述翻譯單元將所述中間碼階段圖中的每個節點翻譯為所述目標代碼中的代表不可再分割的數據處理操作的一個類的實例,將所述中間碼階段圖中的每條有向邊翻譯為所述目標代本文檔來自技高網...

    【技術保護點】
    一種生成Map/Reduce模型的目標代碼的方法,其特征在于,所述方法包括:A.獲取用戶指令;B.根據所述用戶指令生成中間碼原始圖,所述中間碼原始圖由指代數據處理方式的節點和節點之間指代數據傳遞方向的有向邊構成;C.對所述中間碼原始圖進行分解,得到與Map/Reduce過程的各個執行階段對應的中間碼階段圖,其中所述執行階段有一個或多個;D.將與Map/Reduce過程的各個執行階段對應的中間碼階段圖翻譯為Map/Reduce過程的各個執行階段的目標代碼。

    【技術特征摘要】

    【專利技術屬性】
    技術研發人員:陳曉鳴付力力桑文鋒
    申請(專利權)人:北京百度網訊科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产精品一区二区久久精品无码| AV无码免费永久在线观看| 少妇特殊按摩高潮惨叫无码| 少妇久久久久久人妻无码| 日韩AV无码不卡网站| 无码国产精品一区二区免费式芒果| av无码国产在线看免费网站| 日韩少妇无码喷潮系列一二三| 色窝窝无码一区二区三区| 无码人妻精品内射一二三AV| 亚洲无码在线播放| 免费无码午夜福利片 | 97无码免费人妻超级碰碰夜夜| 亚洲精品人成无码中文毛片| 亚洲AV无码久久久久网站蜜桃 | 免费看国产成年无码AV片| 中文无码伦av中文字幕| 午夜无码熟熟妇丰满人妻| 无码精品人妻一区二区三区人妻斩| 性色av无码免费一区二区三区 | 免费无码A片一区二三区| 久久久久无码精品国产| 久久久久亚洲AV成人无码| 亚洲精品无码成人片在线观看| 无码专区永久免费AV网站| 亚洲色无码国产精品网站可下载| 国产激情无码视频在线播放性色| 精选观看中文字幕高清无码| 亚洲AV无码AV吞精久久| 亚洲无码一区二区三区| 亚洲毛片无码专区亚洲乱| 中文字幕AV中文字无码亚 | 久久精品aⅴ无码中文字字幕重口| 亚洲AV中文无码乱人伦| 国产成人无码a区在线观看视频免费| 亚洲欧洲AV无码专区| 国产精品无码亚洲一区二区三区| 亚洲av无码专区首页| 亚洲爆乳无码专区www| 精品无码专区亚洲| 西西4444www大胆无码|