本發(fā)明屬于分布式運算機運算技術領域,具體涉及一種基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)及其運算方法。
背景技術:
在大數(shù)據(jù)應用、科學運算和云運算平臺中,可靠并且穩(wěn)定的運算系統(tǒng)對系統(tǒng)性能有著至關重要的作用。隨著數(shù)據(jù)量增大(PB級別),系統(tǒng)的運算分布策略必須保證性能和穩(wěn)定性。
目前,現(xiàn)有技術中的計算系統(tǒng)采用的多為集群化控制系統(tǒng)和運算方法,即上級運算節(jié)點對其所有該運算節(jié)點以下與之相連的運算節(jié)點進行數(shù)據(jù)分配、指令發(fā)送和數(shù)據(jù)傳輸,當與之相連的運算節(jié)點數(shù)量較多時,會對上級運算節(jié)點的運算能力、負載能力和數(shù)據(jù)傳輸能力要求極高,所以這樣的集群化控制系統(tǒng)會導致上級運算節(jié)點的帶寬要求和硬件配置極高,同時這樣的設計也會導致下一級運算節(jié)點的硬件資源不能得到很好的利用和配置。
區(qū)塊鏈是一種新型去中心化協(xié)議,能安全地存儲數(shù)字貨幣交易或其它數(shù)據(jù),信息不可偽造和篡改,可以自動執(zhí)行智能合約,無需任何中心化機構的審核。區(qū)塊鏈技術解決了拜占庭將軍問題,大大降低了現(xiàn)實經(jīng)濟的信任成本與會計成本,重新定義了互聯(lián)網(wǎng)時代的產(chǎn)權制度。區(qū)塊鏈(Blockchain)是由網(wǎng)絡運算節(jié)點參與的分布式數(shù)據(jù)庫系統(tǒng),它的特點是不可更改,不可偽造,也可以將其理解為賬簿系統(tǒng)(ledger)。時間戳服務器通過對以區(qū)塊(block)形式存在的一組數(shù)據(jù),實施隨機散列而加上時間戳,并將該隨機散列進行廣播,就像在新聞或世界性新聞組網(wǎng)絡(Usenet)的發(fā)帖一樣。顯然,該時間戳能夠證實特定數(shù)據(jù)必然于某特定時間是的確存在的,因為只有在該時刻存在了才能獲取相應的隨機散列值。每個時間戳應當將前一個時間戳納入其隨機散列值中,每一個隨后的時間戳都對之前的一個時間戳進行增強(reinforcing),這樣就形成了一條鏈(Chain)。并以十分鐘新增一個區(qū)塊的速度無限擴展,這條主鏈在每增加一個區(qū)塊后,都會向全網(wǎng)廣播,從而使得每臺參與數(shù)字貨幣交易的電腦上都有一份拷貝。
技術實現(xiàn)要素:
針對現(xiàn)有技術中的上述不足,本發(fā)明提供一種運算效率高且資源配置合理化并且信息傳輸更加穩(wěn)定安全的基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)及其運算方法。
為實現(xiàn)以上技術目的,本發(fā)明的技術方案是:一種基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng),包括上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點,所述上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點之間網(wǎng)絡連接,所述上級運算節(jié)點和中級運算節(jié)點構成區(qū)塊鏈單元,所述中級運算節(jié)點和下級運算節(jié)點構成區(qū)塊鏈單元。
作為優(yōu)選,所述上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點可以為多個。
作為優(yōu)選,所述網(wǎng)絡連接可以為有線寬帶連接。
作為改進,所述網(wǎng)絡連接可以為無線網(wǎng)絡連接。
為實現(xiàn)以上技術目的,本發(fā)明的技術方案是:一種基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)的運算方法,包括如下步驟:
步驟一:將上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點依次通過網(wǎng)絡連接;
步驟二:待上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點中任意一運算節(jié)點接受運算處理任務后,會先下派任務數(shù)據(jù)包給與之連接的所屬該運算節(jié)點的下級運算節(jié)點,獲取該下級運算節(jié)點的運算能力;
步驟三:將運算處理任務進行分割、下派以及運算能力的動態(tài)獲取,運算處理任務分割數(shù)量根據(jù)與該運算節(jié)點連接的下級運算節(jié)點數(shù)量,每個數(shù)據(jù)分割的大小根據(jù)與之連接的下級運算節(jié)點的處理能力呈正比;同時在下級運算節(jié)點進行對下派任務進行運算的同時,上級運算節(jié)點仍對該下級運算節(jié)點的運算能力進行獲??;
步驟四;將分割后的數(shù)據(jù),在各運算節(jié)點上進行運算,并同時將步驟三中上級運算節(jié)點中收到的下級運算節(jié)點的運算能力與步驟二中上級運算節(jié)點中收到的下級運算節(jié)點的運算能力進行比較;
步驟五:若步驟三中的運算能力大于步驟二中的運算能力,則增加下派任務數(shù)據(jù)包大小,若步驟三中的運算能力小于步驟二中的運算能力,則減少下派任務數(shù)據(jù)包大小,
步驟六:將運算后的各個結果反饋至接受數(shù)據(jù)運算任務的該數(shù)據(jù)運算節(jié)點,進行匯總并上報。
作為改進,所述上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點內存儲的所述該節(jié)點的下級運算節(jié)點的硬件配置信息在某時間內會進行分派任務數(shù)據(jù)包的形式重新抓取。
從以上描述可以看出,本發(fā)明具備以下優(yōu)點:本發(fā)明的基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)及其運算方法采用區(qū)塊鏈技術對數(shù)據(jù)和運算能力進行分析處理,當數(shù)據(jù)分析處理任務安置在任何一個運算節(jié)點時,此運算節(jié)點都將該數(shù)據(jù)分析處理任務下派到與之連接的下級運算節(jié)點進行分析處理,而下級運算節(jié)點也同樣會對收到的數(shù)據(jù)分析處理任務繼續(xù)下派到與之連接的下級運算節(jié)點進行分析處理,依次類推,這樣的處理不再采用中心化和集群化的處理模式;一方面極大的提高了閑置運算節(jié)點的利用率,從而降低了運算節(jié)點的閑置率;另一方面是每個運算節(jié)點都對其他運算節(jié)點的運算效率,硬件配置等信息都有記錄,當收到運算數(shù)據(jù)時,會及時對運算數(shù)據(jù)進行分割,分析,將數(shù)據(jù)量大的運算任務調至運算能力強的運算節(jié)點,將數(shù)據(jù)量小的運算任務調至運算能力弱的運算節(jié)點,使得運算任務可以在盡可能短的時間內得到運算結果。
附圖說明
圖1為本發(fā)明的基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)的結構示意圖。
圖2為本發(fā)明的基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)的運算方法的步驟示意圖。
具體實施方式
一種基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng),它包括上級運算節(jié)點1、中級運算節(jié)點2和下級運算節(jié)點3,所述上級運算節(jié)點1、中級運算節(jié)點2和下級運算節(jié)點3之間網(wǎng)絡連接,所述上級運算節(jié)點1和中級運算節(jié)點2構成區(qū)塊鏈單元,所述中級運算節(jié)點2和下級運算節(jié)點3構成區(qū)塊鏈單元。
本實施例僅以三個運算節(jié)點為例,在具體實施時,可以有無限個運算節(jié)點,在所述上級運算節(jié)點1和中級運算節(jié)點2構成區(qū)塊鏈單元中,中級運算節(jié)點2相對于上級運算節(jié)點1其實就是下級運算節(jié)點和上級運算節(jié)點的關系,同理,所述中級運算節(jié)點2和下級運算節(jié)點3構成區(qū)塊鏈單元中也是下級運算節(jié)點3相對于中級運算節(jié)點2其實就是下級運算節(jié)點和上級運算節(jié)點的關系;在每一個區(qū)塊鏈單元中只有上級運算單元和下級運算單元的關系,而每一個上級運算單元只需要對下級運算單元負責;所述上級運算節(jié)點1、中級運算節(jié)點2和下級運算節(jié)點3可以為若干也可以為無限多個;他們彼此之間的網(wǎng)絡連接可以為有線寬帶連接,也可以為無線網(wǎng)絡連接。
結合基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)提供了一種運算方法,包括如下步驟:
步驟一:將上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點依次通過網(wǎng)絡連接;
步驟二:待上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點中任意一運算節(jié)點接受運算處理任務后,會先下派任務數(shù)據(jù)包給與之連接的所屬該運算節(jié)點的下級運算節(jié)點,獲取該下級運算節(jié)點的運算能力;
步驟三:將運算處理任務進行分割、下派以及運算能力的動態(tài)獲取,運算處理任務分割數(shù)量根據(jù)與該運算節(jié)點連接的下級運算節(jié)點數(shù)量,每個數(shù)據(jù)分割的大小根據(jù)與之連接的下級運算節(jié)點的處理能力呈正比;同時在下級運算節(jié)點進行對下派任務進行運算的同時,上級運算節(jié)點仍對該下級運算節(jié)點的運算能力進行獲取;
步驟四;將分割后的數(shù)據(jù),在各運算節(jié)點上進行運算,并同時將步驟三中上級運算節(jié)點中收到的下級運算節(jié)點的運算能力與步驟二中上級運算節(jié)點中收到的下級運算節(jié)點的運算能力進行比較;
步驟五:若步驟三中的運算能力大于步驟二中的運算能力且該情況連續(xù)多次出現(xiàn),則增加下派任務數(shù)據(jù)包大小,若步驟三中的運算能力小于步驟二中的運算能力且該情況也連續(xù)多次出現(xiàn),則減少下派任務數(shù)據(jù)包大小,
步驟六:將運算后的各個結果反饋至接受數(shù)據(jù)運算任務的該數(shù)據(jù)運算節(jié)點,進行匯總并上報。
同時,所述上級運算節(jié)點、中級運算節(jié)點和下級運算節(jié)點內存儲的所述該節(jié)點的下級運算節(jié)點的運算能力在某時間內仍會進行分派任務數(shù)據(jù)包的形式重新抓取。
該運算的方法不僅大大的提高了數(shù)據(jù)運算的效率,同時對于各個節(jié)點的運算能力,與之連接的上級節(jié)點都是在動態(tài)的獲取和比較之中,這樣的設計大大的提高了整個系統(tǒng)的穩(wěn)定性和可擴展性。
再者,本發(fā)明的去中心化運算方法還可以采用離線模式,即便某運算節(jié)點不與其他運算節(jié)點連接時,仍可以對數(shù)據(jù)進行運算;運算人員將運算任務通過類似U盤的移動閃存將運算任務移至某運算節(jié)點,該運算節(jié)點對運算任務進行分析,若此時與該運算節(jié)點連接有其他下級運算節(jié)點,則將運算任務進行分割;分割數(shù)量根據(jù)與該運算節(jié)點連接的運算節(jié)點數(shù)量進行分割,每個數(shù)據(jù)分割的大小根據(jù)與之連接運算節(jié)點的處理能力呈正比。
本發(fā)明的基于區(qū)塊鏈技術的分布式高性能計算系統(tǒng)及其運算方法采用無中心化數(shù)據(jù)分析處理,當數(shù)據(jù)分析處理任務安置在任何一個運算節(jié)點時,此運算節(jié)點都會與其他相對該運算節(jié)點而言的下級運算節(jié)點進行分析處理,不再采用中心化的處理模式;一方面極大的提高了閑置運算節(jié)點的利用率,從而降低了運算節(jié)點的閑置率;另一方面是每個運算節(jié)點都對其他運算節(jié)點的運算能力信息都有記錄,當收到運算數(shù)據(jù)時,會及時對運算數(shù)據(jù)進行分割,分析,將數(shù)據(jù)量大的運算任務調至運算能力強的運算節(jié)點,將數(shù)據(jù)量小的運算任務調至運算能力弱的運算節(jié)點,使得運算任務可以在盡可能短的時間內得到運算結果。
以上對本發(fā)明及其實施方式進行了描述,該描述沒有限制性,附圖中所示的也只是本發(fā)明的實施方式之一,實際的結構并不局限于此??偠灾绻绢I域的普通技術人員受其啟示,在不脫離本發(fā)明創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設計出與該技術方案相似的結構方式及實施例,均應屬于本發(fā)明的保護范圍。