在分布式計算平臺中分發參數的方法、裝置和系統的制作方法
【技術領域】
[0001]本發明涉及通信領域,特別涉及一種在分布式計算平臺中分發參數的方法、裝置和系統。
【背景技術】
[0002]在計算平臺中,參數共享是普遍的現象,一般通過消息廣播來完成。比如Storm(實時流計算平臺),是通過多個一對一的消息傳遞實現參數共享的。但隨著計算規模的擴大,參數傳遞的帶寬消耗達到數百兆甚至上千兆,通過一對一的發送實現廣播引入的延遲已達到不可接受的程度,這是現有的計算平臺中消息廣播存在的問題。
[0003]在分布式計算平臺中,一個任務的多個參與節點往往需要共享一些全局參數,并且這些參數需要定期的更新然后再次共享給所有節點。傳統的實現方案是計算平臺安排一個節點來存儲這些參數,當某個節點需要這些全局參數時,就從網絡中通過單播方式獲取。當計算平臺節點數量較多并且參數規模較大時,獲取參數所消耗的帶寬就與節點數量成正比。
[0004]如圖1所示,在現有的分布式計算平臺中,所有的業務節點Node_l、Node_2、…、Node_N的任務計算依賴于一個參數集W。在一個大型任務中,這個參數集W占用的存儲空間可能上G字節。因此,通常的計算模式是將這個參數集W存儲在管理節點Node_0中。每個業務節點Node」依據某個時刻點的參數W_t進行計算,之后再獲得下一時刻點的參數W_t+1,然后所有業務節點再依據W_t+1重新計算各自的任務,為此所有業務節點需要從管理節點Node_0下載參數W。傳統的計算平臺如Storm在共享參數時采用一對一的發送方案,為了實現消息廣播到N個節點,初始節點要與交換機交互至少N次才能把消息傳遞到其他節點,并且每次都要復制參數信息,造成冗余且占用大量帶寬,增加了網絡延遲。
【發明內容】
[0005]本發明實施例提供一種在分布式計算平臺中分發參數的方法、裝置和系統。本發明通過將參數的復制及分發任務交給了廣播節點進行,管理節點只需要與廣播節點交互一次,由網絡層組播代替初始節點廣播,消除消息的復制,使得各業務節點只需要利用一次廣播報文便可以獲得參數,從而大幅度降低帶寬消耗,提升計算平臺的效率。
[0006]根據本發明的一個方面,提供一種在分布式計算平臺中分發參數的方法,包括:
[0007]在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數;
[0008]將所述共享參數發送給廣播節點,以便廣播節點將所述共享參數廣播給相應的業務節點。
[0009]在一個實施例中,當接收到業務節點發送的參數更新信息時,利用所述參數更新信息對所存儲的全局參數進行更新;其中接收到所述共享參數的業務節點利用所述共享參數進行相應的計算處理,并在計算處理完成后上報與所述共享參數相關聯的所述參數更新信息。
[0010]根據本發明的另一方面,提供一種在分布式計算平臺中分發參數的管理節點,包括提取單元、發送單元和存儲單元,其中:
[0011]提取單元,用于在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數;
[0012]發送單元,用于將所述共享參數發送給廣播節點,以便廣播節點將所述共享參數廣播給相應的業務節點;
[0013]存儲單元,用于存儲全局參數。
[0014]在一個實施例中,上述管理節點還包括接收單元和更新單元,其中:
[0015]接收單元,用于接收業務節點發送的參數更新信息;其中接收到所述共享參數的業務節點利用所述共享參數進行相應的計算處理,并在計算處理完成后上報與所述共享參數相關聯的所述參數更新信息;
[0016]更新單元,用于當接收單元接收到業務節點發送的參數更新信息時,利用所述參數更新信息對存儲單元中存儲的全局參數進行更新。
[0017]根據本發明的另一方面,提供一種在分布式計算平臺中分發參數的系統,包括管理節點、廣播節點和業務節點,其中:
[0018]管理節點,用于在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數,并將所述共享參數發送給廣播節點;
[0019]廣播節點,用于在接收到管理節點發送的所述共享參數時,將所述共享參數廣播給相應的業務節點;
[0020]業務節點,用于在接收到廣播節點廣播的所述共享參數時,利用所述共享參數進行相應的計算處理。
[0021]在一個實施例中,管理節點為上述任一實施例涉及的管理節點。
[0022]在一個實施例中,業務節點還用于在計算處理完成后,向管理節點上報與所述共享參數相關聯的參數更新信息。
[0023]在一個實施例中,廣播節點具體在廣播所述共享參數時,查詢當前與廣播節點自身建立連接的業務節點,并向當前與廣播節點自身建立連接的業務節點廣播所述共享參數。
[0024]在一個實施例中,廣播節點還用于在廣播所述共享參數后,將已廣播的所述共享參數刪除。
[0025]在一個實施例中,廣播節點為交換機。
[0026]本發明通過管理節點在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數;將所述共享參數發送給廣播節點,以便廣播節點將所述共享參數廣播給相應的業務節點。由于利用廣播節點進行參數廣播,因此管理節點僅需要與廣播節點進行一次交互,由網絡層組播代替初始節點廣播,消除消息的復制,使得各業務節點只需要利用一次廣播報文便可以獲得參數,從而大幅度降低帶寬消耗,提升計算平臺的效率。
【附圖說明】
[0027]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0028]圖1為現有技術中分布式計算平臺參數分發一個實施例的示意圖。
[0029]圖2為本發明在分布式計算平臺中分發參數的方法一個實施例的示意圖。
[0030]圖3為本發明在分布式計算平臺中分發參數的方法另一實施例的示意圖。
[0031]圖4為本發明在分布式計算平臺中分發參數的管理節點一個實施例的示意圖。
[0032]圖5為本發明在分布式計算平臺中分發參數的管理節點另一實施例的示意圖。
[0033]圖6為本發明在分布式計算平臺中分發參數的系統一個實施例的示意圖。
【具體實施方式】
[0034]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發明及其應用或使用的任何限制。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0035]除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本發明的范圍。
[0036]同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關系繪制的。
[0037]對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。
[0038]在這里示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。
[0039]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0040]圖2為本發明在分布式計算平臺中分發參數的方法一個實施例的示意圖。如圖2所示,本實施例的方法步驟可由管理節點執行。
[0041]步驟201,在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數。
[0042]步驟202,將所述共享參數發送給廣播節點。
[0043]從而,廣播節點將所述共享參數廣播給相應的業務節點。
[0044]基于本發明上述實施例提供的在分布式計算平臺中分發參數的方法,通過在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數;將所述共享參數發送給廣播節點,以便廣播節點將所述共享參數廣播給相應的業務節點。由于利用廣播節點進行參數廣播,因此管理節點僅需要與廣播節點進行一次交互,由網絡層組播代替初始節點廣播,消除消息的復制,使得各業務節點只需要利用一次廣播報文便可以獲得參數,從而大幅度降低帶寬消耗,提升計算平臺的效率。
[0045]圖3為本發明在分布式計算平臺中分發參數的方法另一實施例的示意圖。如圖3所示,本實施例的方法步驟可由管理節點執行。
[0046]步驟301,在預定的參數分發時刻,從所存儲的全局參數中提取出需要分發的共享參數。
[0047]步驟302,將所述共享參數發送給廣播節點,以便廣播節點將所述共享參數廣播給相應的業務節點。
[0048]步驟303,當接收到業務節點發送的參數更新信息時,利用所述參數更新信息對所存儲的全局參數進行更新。
[0049]其中接收到所述共享參數的業務節點利用所述共享參數進行相應的計算處理,并在計算處理完成后上報與所述共享參數相關聯的所述參數更新信息。
[0050]也就是說,業務節點在根據自身需要接收廣播的共享參數后,利用所述共享參數進行相應的計算處理,并根據計