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

    一種分布式連接方法及系統技術方案

    技術編號:15690865 閱讀:64 留言:0更新日期:2017-06-24 03:36
    本發明專利技術實施例公開一種分布式連接方法及系統。所述方法包括:將目標輸入表集合中的每一個輸入表按照各自的參考列進行排序;其中,所述輸入表的參考列是所述輸入表中被目標連接謂詞使用的列;以行為基本單位,對排序后的各個輸入表進行分塊,得到所述目標輸入表集合對應的全部塊組合;根據各個塊的參考列的數值信息,從所述全部塊組合中篩選出有效塊組合;所述有效塊組合是指包含的各個塊的參考列的數值信息滿足所述目標連接謂詞的塊組合;將篩選出的有效塊組合調度給分布式系統中的各個節點,使得所述各個節點根據所述目標連接謂詞對各自對應的有效塊組合執行連接操作。本發明專利技術方案可降低網絡傳輸代價。

    Distributed connection method and system

    The embodiment of the invention discloses a distributed connection method and system. The method includes: the target input table of each input table in the set of columns are sorted according to their respective reference; wherein, the input table reference column is the input table by the target connection predicate use column; on the basic unit of behavior, sorted each input table into blocks. Get the target input table corresponding to the set of all blocks; according to the numerical information of each block reference column, select effective blocks from the entire block in the block combination; effective combination refers to the numerical information contained in each block reference column blocks meet the target will join predicates; the effective combination of the selected block scheduling for each node in the distributed system, the connection procedure according to the target predicate connected to their corresponding effective blocks so that the nodes. The scheme of the invention can reduce the transmission cost of the network.

    【技術實現步驟摘要】
    一種分布式連接方法及系統
    本專利技術涉及數據庫
    ,尤其涉及一種分布式連接方法及系統。
    技術介紹
    連接(Join)操作是數據庫系統中的一個基本操作,它將數據庫中兩個或多個表組合成一個結果表。連接操作的實現方法(即連接方法)直接影響了數據庫系統的整體性能。目前,連接方法有多種分類方式,如下所述:(1)連接方法按照連接謂詞可以分為通用連接方法和非通用連接方法,其中:通用連接方法:適用于各種Theta連接謂詞(<、≤、=、≠、>、≥),常用的通用連接方法有嵌套循環連接(NestedLoopJoin)方法。非通用連接方法:只適用于等值(=)連接謂詞,常用的非通用連接方法有排序合并連接(Sort-MergeJoin)方法和哈希連接(HashJoin)方法。(2)連接方法按照輸入表的數量可以分為2路連接方法和多路連接方法,其中:2路連接方法:只支持兩個表的連接,通常應用在在集中式運行環境中。多路連接方法:支持任意個數的表的連接,通常應用在分布式運行環境中。(3)連接方法按照運行環境可以分為分布式連接方法和集中式連接方法,其中:分布式連接方法:在分布式運行環境中使用的連接方法。集中式連接方法:在集中式運行環境中使用的連接方法。在上述介紹的多種連接方法中,通用的分布式多路連接方法的應用最為廣泛,能夠適應當今需要大數據處理的分布式計算需求。如圖1所示,現有的通用的分布式多路連接方法可主要包括以下步驟:分塊階段:把每一個輸入表Ri分成Si個大小近似的塊,并且,所有輸入表的塊數目滿足約束條件:S1*S2*...Sn=M,其中,M是分布式系統中的節點數量。一個塊組合表示為:(K1,K2,...,Kn),其中,Km代表所述目標輸入表集合中的輸入表Rm中的任意一個塊,m是正整數,m小于等于n。那么,按照排列組合原理,分塊階段總共可產生S1*S2*...Sn個塊組合,即M個塊組合。可以理解的,通過引入塊組合,原始n個輸入表的連接計算就轉化成M個塊組合內的連接計算。傳輸和計算階段:由于塊組合數量和節點數量相同,因此,每個節點可用于計算一個塊組合內的連接。在這個階段,系統需要將每一個節點對應的塊組合傳輸到該節點進行計算。可以理解的,系統傳輸總代價可表示為:(|Ri|表示Ri的大小,i、n是正整數)。現有技術中,分塊階段需要為每一個輸入表Ri選擇合適的分塊數Si以優化系統傳輸代價,其中,各個輸入表的分塊數滿足前述約束條件:S1*S2*...Sn=M。但是,系統傳輸代價的優化問題通常得不到最優解,實際應用中通常使用啟發式算法求解,但是系統傳輸代價會增大。
    技術實現思路
    本專利技術實施例提供了一種分布式連接方法及系統,通過對輸入表按照參考列進行排序后再對輸入表進行分塊,并根據連接謂詞篩選出有效的塊組合,最后將篩選出的所述有效的塊組合均衡的分配到各個節點。上述方案可實現降低分布式系統中的塊組合的傳輸代價。第一方面,提供了一種分布式連接方法,包括:將目標輸入表集合中的每一個輸入表按照各自的參考列進行排序;其中,所述輸入表的參考列是所述輸入表中被目標連接謂詞使用的列;以行為基本單位,對排序后的每一個輸入表進行分塊,得到所述目標輸入表集合對應的全部塊組合;其中,一個塊組合表示為:(K1,K2,…,Kn),Km代表所述目標輸入表集合中的輸入表Rm中的任意一個塊,m是正整數,m小于等于n;根據各個塊的參考列的數值信息,從所述全部塊組合中篩選出有效塊組合;所述有效塊組合是指各個塊的參考列的數值信息滿足所述目標連接謂詞的塊組合;將篩選出的有效塊組合調度給分布式系統中的各個節點,使得所述各個節點根據所述目標連接謂詞對各自對應的有效塊組合執行連接操作。本專利技術實施例中,把一個輸入表按照該輸入表的參考列進行排序是指:以所述參考列為參考,將所述輸入表的行按照所述輸入表的參考列的數值大小進行升序或降序排序。通過實施第一方面描述的分布式連接方法,通過對各個輸入表進行排序和分塊,并根據所述目標連接謂詞對分塊得到塊組合進行篩選,可實現只將有效塊組合(滿足所述目標連接謂詞的塊組合)傳輸至分布式系統中的各個節點進行連接操作,避免將無效塊組合傳輸至所述各個節點,降低了系統的網絡傳輸代價。結合第一方面,對排序后的輸入表進行分塊處理的方式可包括下述2種:1.根據預先設定的塊大小B(如64MB)對排序后的輸入表進行分塊,排序后的輸入表R分塊后得到的(|R|是表R的大小,是取上限整數符號);2.根據預設行數(如2行)對排序后的輸入表進行分塊處理,即輸入表中每2行劃分為1塊。結合第一方面,所述有效塊組合的調度過程可主要包括以下步驟:確定所述各個節點的負載(即所述各個節點需要運行的塊組合的個數);從所述有效塊組合中選取出每一個節點對應的塊組合集合,所述集合包含的塊組合的個數與所述節點的負載一致。在一種可能的實現方式中,為了保證所述各個節點的負載均衡(即每個節點運行的塊組合個數相近),特別是在所述各個節點的計算能力相近的場景下,可以采用下述策略確定出各個節點的負載:假設,分布式系統中的節點個數是M,有效塊組合的個數是N。那么,在M個節點中,N%M(%是取余符號)個節點的負載是:(是取下限整數符號),(M-N%M)個節點的負載是:在另一種可能的實現方式中,也可以根據各個節點的計算能力確定所述各個節點的負載,即計算能強的節點的負載大,計算能力弱的節點的負載小。可以理解的,計算能力越強的節點可以支持運行的塊組合越多。在一些可能的實現方式中,可以通過下述步驟從所述有效塊組合中選取出每一個節點對應的塊組合集合,使得每一個節點對應的塊組合集合中的多個塊組合盡量相似(以任意節點A為例):步驟一:確定當前剩余的有效塊組合,從當前剩余的有效塊組合中選取出一個有效塊組合作為節點A對應的初始的塊組合集合;步驟二:確定當前剩余的有效塊組合,從當前剩余的有效塊組合中,將與節點A對應的塊組合集合的相似度最高的有效塊組合添加到節點A對應的塊組合集合中;重復執行所述步驟二直到節點A對應的塊組合集合中的塊組合個數與節點A的負載一致;其中,所述當前剩余的有效塊組合是指所述有效塊組合中當前還未被調度的塊組合。可以理解的,節點A對應的塊組合集合中的多個塊組合之間的相似度越高,所述多個塊組合包含的相同塊的個數越多,那么,在將所述多個塊組合傳輸給節點A時,可不必重復傳輸所述相同塊,進一步的降低了網絡的傳輸代價。在一些可能的實現方式中,所述目標輸入表集合中,每一個輸入表的參考列可以是所述輸入表中被所述目標連接謂詞使用次數最多的列。在一些可能的實現方式中,對輸入表的排序方式可包括:按照參考列的數值大小對各個行進行升序排序的方式,或者,按照參考列的數值大小對各個行進行降序排序。第二方面,提供了一種分布式連接系統,所述分布式連接系統包括用于執行第一方面所述方法的模塊。第三方面,提供了一種服務器,用于執行第一方面描述的分布式連接方法。所述服務器包括:收發裝置、存儲器以及與所述存儲器耦合的處理器,其中,所述收發裝置用于與分布式系統中的節點進行數據通信,所述存儲器用于存儲第一方面描述的分布式連接方法的實現代碼,所述處理器用于執行所述存儲器中的程序代碼,即執行第一方面描述的分布式連接方法。第四方面,提供了一種計算機可讀存儲介質,所述可讀存儲介質上本文檔來自技高網
    ...
    一種分布式連接方法及系統

    【技術保護點】
    一種分布式連接方法,其特征在于,包括:將目標輸入表集合中的每一個輸入表按照各自的參考列進行排序;其中,所述輸入表的參考列是所述輸入表中被目標連接謂詞使用的列;以行為基本單位,對排序后的每一個輸入表進行分塊,得到所述目標輸入表集合對應的全部塊組合;其中,一個塊組合表示為:(K

    【技術特征摘要】
    1.一種分布式連接方法,其特征在于,包括:將目標輸入表集合中的每一個輸入表按照各自的參考列進行排序;其中,所述輸入表的參考列是所述輸入表中被目標連接謂詞使用的列;以行為基本單位,對排序后的每一個輸入表進行分塊,得到所述目標輸入表集合對應的全部塊組合;其中,一個塊組合表示為:(K1,K2,…,Kn),Km代表所述目標輸入表集合中的輸入表Rm中的任意一個塊,m是正整數,m小于等于n;根據各個塊的參考列的數值信息,從所述全部塊組合中篩選出有效塊組合;所述有效塊組合是指各個塊的參考列的數值信息滿足所述目標連接謂詞的塊組合;將篩選出的有效塊組合調度給分布式系統中的各個節點,使得所述各個節點根據所述目標連接謂詞對各自對應的有效塊組合執行連接操作。2.如權利要求1所述的方法,其特征在于,所述將目標輸入表集合中的每一個輸入表按照各自的參考列進行排序,包括:對于每一個輸入表,將所述輸入表的行按照所述輸入表的參考列的數值大小進行升序或降序排序。3.如權利要求1所述的方法,其特征在于,所述對排序后的每一個輸入表進行分塊,包括:根據預先設定的塊大小B對排序后的每一個輸入表進行分塊,其中,|R|是輸入表R的大小,是取上限整數符號。4.如權利要求1所述的方法,其特征在于,所述將篩選出的有效塊組合調度給分布式系統中的各個節點,包括:確定出所述各個節點的負載;一個節點的負載是指所述節點需要運行的塊組合個數;從所述有效塊組合中選取出所述各個節點各自對應的塊組合集合;一個節點對應的塊組合集合中的塊組合個數與所述節點的負載一致。5.如權利要求4所述的方法,其特征在于,所述分布式系統中的節點個數是M,篩選出的所述有效塊組合的個數是N;所述確定出所述各個節點的負載,包括:在M個節點中,將N%M個節點的負載確定為將(M-N%M)個節點的負載確定為是取下限整數符號。6.如權利要求4所述的方法,其特征在于,所述從所述有效塊組合中選取出所述各個節點各自對應的塊組合集合,包括:對于所述分布式系統中的任意一個節點A,通過下述步驟得到節點A對應的塊組合集合:步驟一:確定當前剩余的有效塊組合,從當前剩余的有效塊組合中選取出一個有效塊組合作為節點A對應的初始的塊組合集合;步驟二:確定當前剩余的有效塊組合,從當前剩余的有效塊組合中,將與節點A對應的塊組合集合的相似度最高的有效塊組合添加到節點A對應的塊組合集合中;重復執行所述步驟二直到節點A對應的塊組合集合中的塊組合個數與節點A的負載一致;其中,所述當前剩余的有效塊組合是指所述有效塊組合中當前還未被調度的塊組合。7.如權利要求1-6中任一項所述的方法,其特征在于,所述目標輸入表集合中,每一個輸入表的參考列是所述輸入表中被所述目標連接謂詞使用次數最...

    【專利技術屬性】
    技術研發人員:王國平朱俊華
    申請(專利權)人:華為技術有限公司
    類型:發明
    國別省市:廣東,44

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

    1
    主站蜘蛛池模板: 亚洲国产综合无码一区| 国产成人无码aa精品一区| 亚洲va中文字幕无码| 久久午夜无码鲁丝片午夜精品| 成人午夜精品无码区久久| 精品久久久无码人妻中文字幕| 免费无遮挡无码视频在线观看| 亚洲AV无码一区二区三区系列| 亚洲中文字幕久久无码| 岛国无码av不卡一区二区| 内射中出无码护士在线| 精品无码一区二区三区爱欲| 国产精品无码v在线观看| 人妻精品无码一区二区三区| 亚洲av无码不卡一区二区三区 | 少妇中文无码高清| 人妻无码中文久久久久专区| 亚洲欧洲日产国码无码网站| 无码国内精品久久人妻麻豆按摩 | 亚洲不卡无码av中文字幕| 亚洲国产精品成人精品无码区在线| 亚洲精品久久久久无码AV片软件| 无码人妻精品一区二区三18禁 | 亚洲Av无码乱码在线观看性色| 亚洲啪AV永久无码精品放毛片| 精品日韩亚洲AV无码一区二区三区| 一本大道东京热无码一区| 久久久久久无码国产精品中文字幕| 色综合色国产热无码一| 少妇仑乱A毛片无码| 一本一道VS无码中文字幕| 无码乱人伦一区二区亚洲| 无码人妻AV一二区二区三区| 亚洲中文字幕久久精品无码APP| 久久无码一区二区三区少妇| 亚洲成a人片在线观看无码专区| 韩国免费a级作爱片无码| 狠狠躁狠狠躁东京热无码专区| 国产在线无码精品电影网| 无码一区二区三区视频| 久久午夜无码免费|