TWI764456B - 區塊運算方法、裝置、電腦裝置及儲存介質 - Google Patents
區塊運算方法、裝置、電腦裝置及儲存介質Info
- Publication number
- TWI764456B TWI764456B TW109145366A TW109145366A TWI764456B TW I764456 B TWI764456 B TW I764456B TW 109145366 A TW109145366 A TW 109145366A TW 109145366 A TW109145366 A TW 109145366A TW I764456 B TWI764456 B TW I764456B
- Authority
- TW
- Taiwan
- Prior art keywords
- target
- node
- block
- blockchain
- computing power
- Prior art date
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申請涉及區塊鏈技術,本申請提供一種區塊運算方法、裝置、電腦裝置以及儲存介質。所述方法包括:根據區塊鏈節點的算力及獎勵,對區塊鏈節點進行均值聚類,獲得集群,若目標區塊鏈節點接收到廣播區塊,確定廣播區塊所攜帶的節點算力及節點獎勵,確定目標區塊鏈節點所屬的目標集群,確定目標集群對應的目標難度權重,根據節點算力、節點獎勵、目標區塊鏈節點的目標算力、目標區塊鏈節點的目標獎勵及目標難度權重確定目標區塊鏈節點的目標難度,根據目標難度進行區塊運算,在區塊運算完成後產生一個區塊。本申請能提高區塊鏈的去中心化。
Description
本申請涉及區塊鏈技術領域,尤其涉及一種區塊運算方法、裝置、電腦裝置及儲存介質。
目前,在區塊鏈的運算過程中,運算能力(算力)高的區塊鏈節點比較容易完成計算任務,從而導致了運算能力高的區塊鏈節點對計算任務的完成以及獎勵進行壟斷,降低了區塊鏈的去中心化。
因此,如何提高區塊鏈的去中心化是一個亟需解決的技術問題。
鑒於以上內容,有必要提供一種區塊運算方法、裝置、電腦裝置及儲存介質,能夠提高區塊鏈的去中心化。
本申請的第一方面提供一種區塊運算方法,所述區塊運算方法包括:根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群;當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵;根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區
塊鏈節點的目標難度;根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
本申請的第二方面提供一種區塊運算裝置,所述區塊運算裝置包括:聚類模組,用於根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群;確定模組,用於當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵;所述確定模組,還用於根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度;運算模組,用於根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
本申請的第三方面提供一種電腦裝置,所述電腦裝置包括:儲存器,儲存至少一個指令;及處理器,獲取所述儲存器中儲存的指令以實現所述區塊運算方法。
本申請的第四方面提供一種電腦可讀儲存介質,所述電腦可讀儲存介質中儲存有至少一個指令,所述至少一個指令被電腦裝置中的處理器獲取以實現所述區塊運算方法。
由以上技術方案,本申請中,能夠根據區塊鏈節點的算力(運算能力)以及獎勵進行計算難度調整,確保算力低的區塊鏈節點也能夠完成運算以及獲得獎勵,提高了區塊鏈的去中心化。
2:區塊運算裝置
201:聚類模組
202:確定模組
203:運算模組
3:電腦裝置
31:儲存器
32:處理器
33:電腦程式
34:通訊匯流排
圖1是本申請公開的一種區塊運算方法的較佳實施例的流程圖。
圖2是本申請公開的一種區塊運算裝置的較佳實施例的功能模組圖。
圖3是本申請實現區塊運算方法的較佳實施例的電腦裝置的結構示意圖。
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
除非另有定義,本文所使用的所有的技術和科學術語與屬於本申請的技術領域的技術人員通常理解的含義相同。本文中在本申請的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在於限制本申請。
本申請實施例的區塊運算方法應用在電腦裝置中,也可以應用在電腦裝置和透過網路與所述電腦裝置進行連接的伺服器所構成的硬體環境中,由伺服器和電腦裝置共同執行。網路包括但不限於:廣域網路、都會區網路或局域網。
其中,伺服器可以是指能對網路中其它設備(如電腦裝置)提供服務的電腦系統。如果一個個人電腦能夠對外提供檔案傳輸通訊協定(File Transfer Protocol,簡稱FTP)服務,也可以叫伺服器。從狹義範圍上講,伺服器專指某些高性能電腦,能透過網路,對外提供服務,其相對于普通的個人電腦來說,穩定性、安全性、性能等方面都要求更高,因此在CPU、晶片組、儲存器、磁片系統、網路等硬體和普通的個人電腦有所不同。
所述電腦裝置是一種能夠按照事先設定或儲存的指令,自動進行數值計算和/或資訊處理的設備,其硬體包括但不限於微處理器、專用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、數位訊號處理器(DSP)、嵌入式設備等。所述電腦裝置還可包括網路設備和/或使用者設備。其中,所述網路設備包括但
不限於單個網路設備、多個網路設備組成的伺服器組或基於雲計算(Cloud Computing)的由大量主機或網路設備構成的雲,其中,雲計算是分散式運算的一種,由一群鬆散耦合的電腦集組成的一個超級虛擬電腦。所述使用者設備包括但不限於任何一種可與使用者透過鍵盤、滑鼠、遙控器、觸控板或聲控設備等方式進行人機交互的電子產品,例如,個人電腦、平板電腦、智慧手機、個人數位助理PDA等。
請參見圖1,圖1是本申請公開的一種區塊運算方法的較佳實施例的流程圖。其中,根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。其中,所述區塊運算方法的執行主體可以為電腦裝置。
步驟S11、根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群;其中,所述算力(也稱雜湊率)是比特幣網路處理能力的度量單位。即為電腦(CPU)計算雜湊函數輸出的速度。比特幣網路必須為了安全目的而進行密集的數學和加密相關操作。例如,當網路達到10Th/s的雜湊率時,意味著它可以每秒進行10萬億次計算。所述算力可以是區塊鏈節點的資料運算能力;所述獎勵是指區塊鏈節點完成運算任務時根據預設的獎勵機制獲得的獎勵。
其中,所述均值聚類可以是指k均值聚類演算法(k-means clustering algorithm),是一種反覆運算求解的聚類分析演算法,包括:預先將數據分為K組,則隨機選取K個物件作為初始的聚類中心,然後計算每個物件與各個種子聚類中心之間的距離,把每個物件分配給距離它最近的聚類中心。聚類中心以及分配給它們的物件就代表一個聚類。每分配一個樣本,聚類的聚類中心會根據聚類中現有的物件被重新計算。這個過程將不斷重複直到滿足某個終止條件。終止條件可以是沒有(或最小數目)聚類中心再發生變化。
其中,一個集群可以包括多個區塊鏈節點,一個區塊鏈節點只能屬於一個集群。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,所述區塊運算方法還包括:獲取每個所述區塊鏈節點的算力以及獎勵;根據每個所述區塊鏈節點的算力以及獎勵,將每個所述區塊鏈節點映射至平面直角座標系中,獲得每個所述區塊鏈節點對應的座標,其中,區塊鏈節點的算力為橫座標,區塊鏈的獎勵為縱座標。
其中,所述多個區塊鏈節點與多個座標一一對應,區塊鏈節點的算力為橫座標,區塊鏈的獎勵為縱座標。比如,假設區塊鏈節點量化後的算力為10,量化後的獎勵為15,則區塊鏈節點對應的座標為(10,15)。
具體的,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群包括:根據每個區塊鏈節點的算力以及獎勵,確定每個所述區塊鏈節點對應的座標;從多個所述座標中確定初始中心點;根據所述初始中心點,對所述多個座標進行分組,獲得多個初始組群;重新計算所述多個初始組群的中心,獲得第一中心點;若所述第一中心點與所述初始中心點一致,確定均值聚類完成,將所述多個初始組群確定為所述多個集群。
在該可選的實施方式中,可以根據每個區塊鏈節點的算力以及獎勵,確定每個所述區塊鏈節點對應的座標,比如(10,10)、(10,15)、(15,10)等座標。一個區塊鏈節點對應一個座標。從多個所述座標中確定初始中心點,比如(5,5)、(10,10);根據所述初始中心點,對所述多個座標進行分組,即將每個座標分配給距離最近的初始中心點,獲得多個初始組群,每個初始族群包括最少一個座標;重新計算所述多個初始組群的中心,獲得第一中
心點;若所述第一中心點與所述初始中心點一致,確定均值聚類完成,將所述多個初始組群確定為所述多個集群。
作為一種可選的實施方式,所述區塊運算方法還包括:若所述第一中心點與所述初始中心點不一致,根據所述第一中心點,對多個所述座標重新進行分組,獲得多個第一組群;計算所述多個第一組群的中心,獲得第二中心點;若所述第二中心點與所述第一中心點一致,確定均值聚類完成,將所述多個第一組群確定為所述多個集群。
在該可選的實施方式中,若所述第一中心點與所述初始中心點不一致,確定均值聚類未完成,根據所述第一中心點,對多個所述座標重新進行分組,獲得多個第一組群;計算所述多個第一組群的中心,獲得第二中心點;若所述第二中心點與所述第一中心點一致,確定均值聚類完成,將所述多個第一組群確定為所述多個集群。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,所述區塊運算方法還包括:從所述多個區塊鏈節點中,確定與所述平面直角座標系的原點的原點距離最小的最小節點,以及確定與所述原點的原點距離最大的最大節點;確定所述最小節點的原點距離與所述最大節點的原點距離的距離差值;將所述距離差值確定為預設的所述第一距離。
在該可選的實施方式中,從所述多個區塊鏈節點中,確定與所述平面直角座標系的原點的原點距離最小的最小節點,以及確定與所述原點的原點距離最大的最大節點;確定所述最小節點的原點距離與所述最大節點的原點距離的距離差值;將所述距離差值確定為預設的所述第一距離。假設所述最小
節點的座標為(1,0),對應的原點距離為1,所述最大節點的座標為(10,0)對應的原點距離為10,則所述第一距離為9。
步驟512、當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵。
其中,所述廣播區塊可以是某個區塊鏈節點完成計算任務後打包的區塊,打包的區塊會廣播至其它區塊鏈節點中。
其中,所述廣播區塊攜帶有打包所述廣播區塊的區塊鏈節點的算力資訊以及獎勵資訊。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之後以及所述當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵之前,所述區塊運算方法還包括:確定每個所述集群的中心座標;確定所述中心座標與所述平面直角座標系的原點的第三距離;根據所述第三距離,為每個所述集群分配對應的難度權重。
在該可選的實施方式中,確定每個所述集群的中心座標,然後確定所述中心座標與所述平面直角座標系的原點的第三距離,根據所述第三距離,為每個所述集群分配對應的難度權重。比如,存在3個集群,集群A的第三距離為1,集群B的第三距離為3,集群C的距離為5。則所述集群總數為3,集群A的第三距離小於集群B的第三距離,集群B的第三距離小於集群C的第三距離,則集群A對應的難度權重為1/3,則集群B對應的難度權重為2/3,則集群C對應的難度權重為3/3。
步驟S13、從所述多個集群中,確定目標區塊鏈節點所屬的目標集群,並確定所述目標集群對應的目標難度權重。
其中,不同的集群具有不同的難度權重。一個集群包括至少一個區塊鏈節點,一個區塊鏈節點只屬於一個集群。
步驟S14、根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度。
其中,所述難度Difficulty,可以用來控制區塊的平均產生時間,Difficulty值越高時,區塊鏈節點越不容易完成運算。相反地,當Difficulty值越低時,區塊鏈節點越容易完成運算。
具體的,所述根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度包括:確定與所述節點算力以及所述節點獎勵均對應的節點座標;確定與所述目標區塊鏈節點的目標獎勵以及所述目標區塊鏈節點的目標獎勵均對應的目標座標;計算所述節點座標與所述目標座標之間的第二距離;獲取預設的第一距離,其中,所述第一距離為所述多個區塊鏈節點中的最大的距離;根據所述第一距離、所述第二距離以及所述目標集群對應的難度權重,確定所述目標難度。
在該可選的實施方式中,可以確定與所述節點算力以及所述節點獎勵均對應的節點座標;確定與所述目標區塊鏈節點的目標獎勵以及所述目標區塊鏈節點的目標獎勵均對應的目標座標;計算所述節點座標與所述目標座標之間的第二距離;獲取預設的第一距離,其中,所述第一距離為所述多個區塊鏈節點中的最大的距離;根據所述第一距離、所述第二距離以及所述目標集群對應的難度權重,確定所述目標難度。比如:假設節點算力為28,節點獎勵為14,則節點座標為(28,14)。目標區塊鏈節點A及目標區塊鏈節點B接收到廣播的區塊,並驗證其為有效區塊。假設第一距離為30。目標區塊鏈節點A與節點座標之間的第二距離為15,所屬的目標集群對應的難度權重為1。目標區塊鏈
節點B與節點座標的距離為15,所述的目標集群對應的難度權重為1/3,集群總數為3。目標區塊鏈節點A計算的目標難度為(1-15/30)*(1/1)* 2256=0.5 * 2256。目標區塊鏈節點B計算的目標難度為礦工節點B計算之Difficulty為(1-15/30)*(1/3)* 2256=0.16 * 2256。
步驟S15、根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
本申請實施例中,所有的區塊鏈節點都會同時處理一個運算任務,所述區塊運算可以是指所述運算任務,當一個區塊鏈節點完成運算任務時,會產生一個區塊,可以將該區塊添加至區塊鏈中,並進行打包(可以將該區塊鏈節點的算力以及獎勵資訊打包進區塊中),然後將打包好的區塊廣播至其他的區塊鏈節點中,其他區塊鏈節點接收到廣播的區塊後,開始進行下一個運算任務。
在圖1所描述的方法流程中,能夠根據區塊鏈節點的算力(運算能力)以及獎勵進行計算難度調整,確保算力低的區塊鏈節點也能夠完成運算以及獲得獎勵,提高了區塊鏈的去中心化。
請參見圖2,圖2是本申請公開的一種區塊運算裝置的較佳實施例的功能模組圖。
在一些實施例中,所述區塊運算裝置運行於電腦裝置中。所述區塊運算裝置可以包括多個由程式碼段所組成的功能模組。所述區塊運算裝置中的各個程式段的程式碼可以儲存於儲存器中,並由至少一個處理器所執行,以執行圖1所描述的區塊運算方法中的部分或全部步驟。
本實施例中,所述區塊運算裝置根據其所執行的功能,可以被劃分為多個功能模組。所述功能模組可以包括:聚類模組201、確定模組202、及運算模組203。本申請所稱的模組是指一種能夠被至少一個處理器所執行並且能夠完成固定功能的一系列電腦程式段,其儲存在儲存器中。
聚類模組201,用於根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群。
其中,所述算力(也稱雜湊率)是比特幣網路處理能力的度量單位。即為電腦(CPU)計算雜湊函數輸出的速度。比特幣網路必須為了安全目的而進行密集的數學和加密相關操作。例如,當網路達到10Th/s的雜湊率時,意味著它可以每秒進行10萬億次計算。所述算力可以是區塊鏈節點的資料運算能力;所述獎勵是指區塊鏈節點完成運算任務時根據預設的獎勵機制獲得的獎勵。
其中,所述均值聚類可以是指k均值聚類演算法(k-means clustering algorithm),是一種反覆運算求解的聚類分析演算法,包括:預先將資料分為K組,則隨機選取K個物件作為初始的聚類中心,然後計算每個物件與各個種子聚類中心之間的距離,把每個物件分配給距離它最近的聚類中心。聚類中心以及分配給它們的物件就代表一個聚類。每分配一個樣本,聚類的聚類中心會根據聚類中現有的物件被重新計算。這個過程將不斷重複直到滿足某個終止條件。終止條件可以是沒有(或最小數目)聚類中心再發生變化。
其中,一個集群可以包括多個區塊鏈節點,一個區塊鏈節點只能屬於一個集群。
確定模組202,用於當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵。
其中,所述廣播區塊可以是某個區塊鏈節點完成計算任務後打包的區塊,打包的區塊會廣播至其它區塊鏈節點中。
其中,所述廣播區塊攜帶有打包所述廣播區塊的區塊鏈節點的算力資訊以及獎勵資訊。
所述確定模組202,還用於從所述多個集群中,確定目標區塊鏈節點所屬的目標集群,並確定所述目標集群對應的目標難度權重。
其中,不同的集群具有不同的難度權重。一個集群包括至少一個區塊鏈節點,一個區塊鏈節點只屬於一個集群。
所述確定模組202,還用於根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度。
其中,所述難度Difficulty,可以用來控制區塊的平均產生時間,Difficulty值越高時,區塊鏈節點越不容易完成運算。相反地,當Difficulty值越低時,區塊鏈節點越容易完成運算。
運算模組203,用於根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
本申請實施例中,所有的區塊鏈節點都會同時處理一個運算任務,所述區塊運算可以是指所述運算任務,當一個區塊鏈節點完成運算任務時,會產生一個區塊,可以將該區塊添加至區塊鏈中,並進行打包(可以將該區塊鏈節點的算力以及獎勵資訊打包進區塊中),然後將打包好的區塊廣播至其他的區塊鏈節點中,其他區塊鏈節點接收到廣播的區塊後,開始進行下一個運算任務。
作為一種可選的實施方式,所述區塊運算裝置還可以包括:獲取模組,用於所述聚類模組201根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,獲取每個所述區塊鏈節點的算力以及獎勵;映射模組,用於根據每個所述區塊鏈節點的算力以及獎勵,將每個所述區塊鏈節點映射至平面直角座標系中,獲得每個所述區塊鏈節點對應的座標,其中,區塊鏈節點的算力為橫座標,區塊鏈的獎勵為縱座標。
其中,所述多個區塊鏈節點與多個座標一一對應,區塊鏈節點的算力為橫座標,區塊鏈的獎勵為縱座標。比如,假設區塊鏈節點量化後的算力為10,量化後的獎勵為15,則區塊鏈節點對應的座標為(10,15)。
作為一種可選的實施方式,所述確定模組202根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度的方式具體為:確定與所述節點算力以及所述節點獎勵均對應的節點座標;確定與所述目標區塊鏈節點的目標獎勵以及所述目標區塊鏈節點的目標獎勵均對應的目標座標;計算所述節點座標與所述目標座標之間的第二距離;獲取預設的第一距離,其中,所述第一距離為所述多個區塊鏈節點中的最大的距離;根據所述第一距離、所述第二距離以及所述目標集群對應的難度權重,確定所述目標難度。
在該可選的實施方式中,可以確定與所述節點算力以及所述節點獎勵均對應的節點座標;確定與所述目標區塊鏈節點的目標獎勵以及所述目標區塊鏈節點的目標獎勵均對應的目標座標;計算所述節點座標與所述目標座標之間的第二距離;獲取預設的第一距離,其中,所述第一距離為所述多個區塊鏈節點中的最大的距離;根據所述第一距離、所述第二距離以及所述目標集群對應的難度權重,確定所述目標難度。比如:假設節點算力為28,節點獎勵為14,則節點座標為(28,14)。目標區塊鏈節點A及目標區塊鏈節點B接收到廣播的區塊,並驗證其為有效區塊。假設第一距離為30。目標區塊鏈節點A與節點座標之間的第二距離為15,所屬的目標集群對應的難度權重為1。目標區塊鏈節點B與節點座標的距離為15,所述的目標集群對應的難度權重為1/3,集群總數為3。目標區塊鏈節點A計算的目標難度為(1-15/30)*(1/1)* 2256=0.5 * 2256。目標區塊鏈節點B計算的目標難度為礦工節點B計算之Difficulty為(1-15/30)*(1/3)* 2256=0.16 * 2256。
作為一種可選的實施方式,所述確定模組201,還用於所述聚類模組201根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,從所述多個區塊鏈節點中,確定與所述平面直角座標系的原點的原點距離最小的最小節點,以及確定與所述原點的原點距離最大的最大節點;所述區塊運算裝置還可以包括:第一計算模組,用於確定所述最小節點的原點距離與所述最大節點的原點距離的距離差值;所述確定模組202,還用於將所述距離差值確定為預設的所述第一距離。
在該可選的實施方式中,從所述多個區塊鏈節點中,確定與所述平面直角座標系的原點的原點距離最小的最小節點,以及確定與所述原點的原點距離最大的最大節點;確定所述最小節點的原點距離與所述最大節點的原點距離的距離差值;將所述距離差值確定為預設的所述第一距離。假設所述最小節點的座標為(1,0),對應的原點距離為1,所述最大節點的座標為(10,0)對應的原點距離為10,則所述第一距離為9。
作為一種可選的實施方式,所述聚類模組201根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群的方式具體為:根據每個區塊鏈節點的算力以及獎勵,確定每個所述區塊鏈節點對應的座標;從多個所述座標中確定初始中心點;根據所述初始中心點,對所述多個座標進行分組,獲得多個初始組群;重新計算所述多個初始組群的中心,獲得第一中心點;
若所述第一中心點與所述初始中心點一致,確定均值聚類完成,將所述多個初始組群確定為所述多個集群。
在該可選的實施方式中,可以根據每個區塊鏈節點的算力以及獎勵,確定每個所述區塊鏈節點對應的座標,比如(10,10)、(10,15)、(15,10)等座標。一個區塊鏈節點對應一個座標。從多個所述座標中確定初始中心點,比如(5,5)、(10,10);根據所述初始中心點,對所述多個座標進行分組,即將每個座標分配給距離最近的初始中心點,獲得多個初始組群,每個初始族群包括最少一個座標;重新計算所述多個初始組群的中心,獲得第一中心點;若所述第一中心點與所述初始中心點一致,確定均值聚類完成,將所述多個初始組群確定為所述多個集群。
作為一種可選的實施方式,所述區塊運算裝置還可以包括:分組模組,用於若所述第一中心點與所述初始中心點不一致,根據所述第一中心點,對多個所述座標重新進行分組,獲得多個第一組群;第二計算模組,用於計算所述多個第一組群的中心,獲得第二中心點;所述確定模組202,還用於若所述第二中心點與所述第一中心點一致,確定均值聚類完成,將所述多個第一組群確定為所述多個集群。
在該可選的實施方式中,若所述第一中心點與所述初始中心點不一致,確定均值聚類未完成,根據所述第一中心點,對多個所述座標重新進行分組,獲得多個第一組群;計算所述多個第一組群的中心,獲得第二中心點;若所述第二中心點與所述第一中心點一致,確定均值聚類完成,將所述多個第一組群確定為所述多個集群。
作為一種可選的實施方式,所述區塊運算方法還包括:所述確定模組202,還用於所述聚類模組201根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之後以及所
述確定模組202當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵之前,確定每個所述集群的中心座標;所述確定模組202,還用於確定所述中心座標與所述平面直角座標系的原點的第三距離;所述區塊運算裝置還可以包括:分配模組,用於根據所述第三距離,為每個所述集群分配對應的難度權重。
在該可選的實施方式中,確定每個所述集群的中心座標,然後確定所述中心座標與所述平面直角座標系的原點的第三距離,根據所述第三距離,為每個所述集群分配對應的難度權重。比如,存在3個集群,集群A的第三距離為1,集群B的第三距離為3,集群C的距離為5。則所述集群總數為3,集群A的第三距離小於集群B的第三距離,集群B的第三距離小於集群C的第三距離,則集群A對應的難度權重為1/3,則集群B對應的難度權重為2/3,則集群C對應的難度權重為3/3。
在圖2所描述的區塊運算裝置中,能夠根據區塊鏈節點的算力(運算能力)以及獎勵進行計算難度調整,確保算力低的區塊鏈節點也能夠完成運算以及獲得獎勵,提高了區塊鏈的去中心化。
如圖3所示,圖3是本申請實現區塊運算方法的較佳實施例的電腦裝置的結構示意圖。所述電腦裝置3包括儲存器31、至少一個處理器32、儲存在所述儲存器31中並可在所述至少一個處理器32上運行的電腦程式33及至少一條通訊匯流排34。
本領域技術人員可以理解,圖3所示的示意圖僅僅是所述電腦裝置3的示例,並不構成對所述電腦裝置3的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述電腦裝置3還可以包括輸入輸出設備、網路接入設備等。
所述電腦裝置3還包括但不限於任何一種可與使用者透過鍵盤、滑鼠、遙控器、觸控板或聲控設備等方式進行人機交互的電子產品,例如,個人電腦、平板電腦、智慧手機、個人數位助理(Personal Digital Assistant,PDA)、遊戲機、互動式網路電視(Internet Protocol Television,IPTV)、智慧式穿戴式設備等。所述電腦裝置3所處的網路包括但不限於網際網路、廣域網路、都會區網路、局域網、虛擬私人網路(Virtual Private Network,VPN)等。
所述至少一個處理器32可以是中央處理單元(Central Processing Unit,CPU),還可以是其他通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式設計閘陣列(Field-Programmable Gate Array,FPGA)或者其他可程式設計邏輯器件、電晶體邏輯器件、分立硬體元件等。該處理器32可以是微處理器或者該處理器32也可以是任何常規的處理器等,所述處理器32是所述電腦裝置3的控制中心,利用各種介面和線路連接整個電腦裝置3的各個部分。
所述儲存器31可用於儲存所述電腦程式33和/或模組/單元,所述處理器32透過運行或執行儲存在所述儲存器31內的電腦程式和/或模組/單元,以及調用儲存在儲存器31內的資料,實現所述電腦裝置3的各種功能。所述儲存器31可主要包括儲存程式區和儲存資料區,其中,儲存程式區可儲存作業系統、至少一個功能所需的應用程式(比如聲音播放功能、圖像播放功能等)等;儲存資料區可儲存根據電腦裝置3的使用所創建的資料等。此外,儲存器31可以包括非易失性儲存器,例如硬碟、儲存器、插接式硬碟,智慧儲存卡(Smart Media Card,SMC),安全數位(Secure Digital,SD)卡,快閃儲存器卡(Flash Card)、至少一個磁碟儲存器件、快閃儲存器件等。
結合圖1,所述電腦裝置3中的所述儲存器31儲存多個指令以實現一種區塊運算方法,所述處理器32可執行所述多個指令從而實現:根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群;
當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵;根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度;根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,所述區塊運算方法還包括:獲取每個所述區塊鏈節點的算力以及獎勵;根據每個所述區塊鏈節點的算力以及獎勵,將每個所述區塊鏈節點映射至平面直角座標系中,獲得每個所述區塊鏈節點對應的座標,其中,區塊鏈節點的算力為橫座標,區塊鏈的獎勵為縱座標。
作為一種可選的實施方式,所述根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度包括:確定與所述節點算力以及所述節點獎勵均對應的節點座標;確定與所述目標區塊鏈節點的目標獎勵以及所述目標區塊鏈節點的目標獎勵均對應的目標座標;計算所述節點座標與所述目標座標之間的第二距離;獲取預設的第一距離,其中,所述第一距離為所述多個區塊鏈節點中的最大的距離;根據所述第一距離、所述第二距離以及所述目標集群對應的難度權重,確定所述目標難度。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,所述處理器32可執行所述多個指令從而實現:從所述多個區塊鏈節點中,確定與所述平面直角座標系的原點的原點距離最小的最小節點,以及確定與所述原點的原點距離最大的最大節點;確定所述最小節點的原點距離與所述最大節點的原點距離的距離差值;將所述距離差值確定為預設的所述第一距離。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之後以及所述當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵之前,所述處理器32可執行所述多個指令從而實現:確定每個所述集群的中心座標;確定所述中心座標與所述平面直角座標系的原點的第三距離;根據所述第三距離,為每個所述集群分配對應的難度權重。
作為一種可選的實施方式,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群包括:根據每個區塊鏈節點的算力以及獎勵,確定每個所述區塊鏈節點對應的座標;從多個所述座標中確定初始中心點;根據所述初始中心點,對所述多個座標進行分組,獲得多個初始組群;重新計算所述多個初始組群的中心,獲得第一中心點;若所述第一中心點與所述初始中心點一致,確定均值聚類完成,將所述多個初始組群確定為所述多個集群。
作為一種可選的實施方式,所述處理器32可執行所述多個指令從而實現:若所述第一中心點與所述初始中心點不一致,根據所述第一中心點,對多個所述座標重新進行分組,獲得多個第一組群;計算所述多個第一組群的中心,獲得第二中心點;若所述第二中心點與所述第一中心點一致,確定均值聚類完成,將所述多個第一組群確定為所述多個集群。
具體地,所述處理器32對上述指令的具體實現方法可參考圖1對應實施例中相關步驟的描述,在此不贅述。
在圖3所描述的電腦裝置3中,能夠根據區塊鏈節點的算力(運算能力)以及獎勵進行計算難度調整,確保算力低的區塊鏈節點也能夠完成運算以及獲得獎勵,提高了區塊鏈的去中心化。
所述電腦裝置3集成的模組/單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存介質中。基於這樣的理解,本申請實現上述實施例方法中的全部或部分流程,也可以透過電腦程式來指令相關的硬體來完成,所述的電腦程式可儲存於一電腦可讀儲存介質中,該電腦程式在被處理器執行時,可實現上述各個方法實施例的步驟。其中,所述電腦程式代碼可以為原始程式碼形式、物件代碼形式、可執行檔或某些中間形式等。所述電腦可讀介質可以包括:能夠攜帶所述電腦程式代碼的任何實體或裝置、記錄介質、隨身碟、移動硬碟、磁碟、光碟、電腦儲存器、唯讀儲存器(ROM,Read-Only Memory)。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以透過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能模組可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能模組的形式實現。
對於本領域技術人員而言,顯然本申請不限於上述示範性實施例的細節,而且在不背離本申請的精神或基本特徵的情況下,能夠以其他的具體形式實現本申請。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本申請的範圍由所附請求項而不是上述說明限定,因此旨在將落在請求項的等同要件的含義和範圍內的所有變化涵括在本申請內。不應將請求項中的任何附關聯圖標記視為限制所涉及的請求項。此外,顯然“包括”一詞不排除其他單元或步驟,單數不排除複數。本申請中陳述的多個單元或裝置也可以由一個單元或裝置透過軟體或者硬體來實現。第一、第二等詞語用來表示名稱,而並不表示任何特定的順序。
最後應說明的是,以上實施例僅用以說明本申請的技術方案而非限制,儘管參照較佳實施例對本申請進行了詳細說明,本領域的普通技術人員應當理解,可以對本申請的技術方案進行修改或等同替換,而不脫離本申請技術方案的精神和範圍。
Claims (10)
- 一種區塊運算方法,應用於電腦裝置,其中,所述區塊運算方法包括:根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群;當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵;從所述多個集群中,確定目標區塊鏈節點所屬的目標集群,並確定所述目標集群對應的目標難度權重;根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度;根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
- 如請求項1所述的區塊運算方法,其中,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,所述區塊運算方法還包括:獲取每個所述區塊鏈節點的算力以及獎勵;根據每個所述區塊鏈節點的算力以及獎勵,將每個所述區塊鏈節點映射至平面直角座標系中,獲得每個所述區塊鏈節點對應的座標,其中,區塊鏈節點的算力為橫座標,區塊鏈的獎勵為縱座標。
- 如請求項2所述的區塊運算方法,其中,所述根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度包括:確定與所述節點算力以及所述節點獎勵均對應的節點座標; 確定與所述目標區塊鏈節點的目標獎勵以及所述目標區塊鏈節點的目標獎勵均對應的目標座標;計算所述節點座標與所述目標座標之間的第二距離;獲取預設的第一距離;根據所述第一距離、所述第二距離以及所述難度權重,確定所述目標難度。
- 如請求項3所述的區塊運算方法,其中,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之前,所述區塊運算方法還包括:從所述多個區塊鏈節點中,確定與所述平面直角座標系的原點的原點距離最小的最小節點,以及確定與所述原點的原點距離最大的最大節點;確定所述最小節點的原點距離與所述最大節點的原點距離的距離差值;將所述距離差值確定為預設的所述第一距離。
- 如請求項2所述的區塊運算方法,其中,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群之後以及所述當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵之前,所述區塊運算方法還包括:確定每個所述集群的中心座標;確定所述中心座標與所述平面直角座標系的原點的第三距離;根據所述第三距離,為每個所述集群分配對應的難度權重。
- 如請求項1至5中任一項所述的區塊運算方法,其中,所述根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群包括:根據每個區塊鏈節點的算力以及獎勵,確定每個所述區塊鏈節點對應的座標;從多個所述座標中確定初始中心點;根據所述初始中心點,對所述多個座標進行分組,獲得多個初始組群; 重新計算所述多個初始組群的中心,獲得第一中心點;若所述第一中心點與所述初始中心點一致,確定均值聚類完成,將所述多個初始組群確定為所述多個集群。
- 如請求項6所述的區塊運算方法,其中,所述區塊運算方法還包括:若所述第一中心點與所述初始中心點不一致,根據所述第一中心點,對多個所述座標重新進行分組,獲得多個第一組群;計算所述多個第一組群的中心,獲得第二中心點;若所述第二中心點與所述第一中心點一致,確定均值聚類完成,將所述多個第一組群確定為所述多個集群。
- 一種區塊運算裝置,其中,所述區塊運算裝置包括:聚類模組,用於根據每個區塊鏈節點的算力以及獎勵,對多個區塊鏈節點進行均值聚類,獲得多個集群;確定模組,用於當目標區塊鏈節點接收到廣播區塊時,確定所述廣播區塊所攜帶的節點算力以及節點獎勵;所述確定模組,還用於從所述多個集群中,確定目標區塊鏈節點所屬的目標集群,並確定所述目標集群對應的目標難度權重;所述確定模組,還用於根據所述節點算力、所述節點獎勵、所述目標區塊鏈節點的目標算力、所述目標區塊鏈節點的目標獎勵以及所述目標難度權重,確定所述目標區塊鏈節點的目標難度;運算模組,用於根據所述目標難度進行區塊運算,並在所述區塊運算完成後產生一個區塊。
- 一種電腦裝置,其中,所述電腦裝置包括:儲存器,儲存至少一個指令;及處理器,獲取所述儲存器中儲存的指令以實現如請求項1至7中任意一項所述的區塊運算方法。
- 一種電腦可讀儲存介質,其中:所述電腦可讀儲存介質中儲存有至少一個指令,所述至少一個指令被電腦裝置中的處理器獲取以實現如請求項1至7中任意一項所述的區塊運算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109145366A TWI764456B (zh) | 2020-12-21 | 2020-12-21 | 區塊運算方法、裝置、電腦裝置及儲存介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109145366A TWI764456B (zh) | 2020-12-21 | 2020-12-21 | 區塊運算方法、裝置、電腦裝置及儲存介質 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI764456B true TWI764456B (zh) | 2022-05-11 |
TW202226126A TW202226126A (zh) | 2022-07-01 |
Family
ID=82594100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109145366A TWI764456B (zh) | 2020-12-21 | 2020-12-21 | 區塊運算方法、裝置、電腦裝置及儲存介質 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI764456B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI587655B (zh) * | 2010-11-01 | 2017-06-11 | 李爾登公司 | 藉由使用者叢集在分散式無線系統中協調傳輸之系統及方法 |
CN110287268A (zh) * | 2019-06-30 | 2019-09-27 | 智慧谷(厦门)物联科技有限公司 | 一种基于区块链的数字资产处理方法和系统 |
TWI677213B (zh) * | 2017-11-23 | 2019-11-11 | 財團法人資訊工業策進會 | 監控裝置、方法及其電腦程式產品 |
CN111324453A (zh) * | 2020-01-23 | 2020-06-23 | 天津大学 | 用于区块链平台资源调度的方法 |
-
2020
- 2020-12-21 TW TW109145366A patent/TWI764456B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI587655B (zh) * | 2010-11-01 | 2017-06-11 | 李爾登公司 | 藉由使用者叢集在分散式無線系統中協調傳輸之系統及方法 |
TWI677213B (zh) * | 2017-11-23 | 2019-11-11 | 財團法人資訊工業策進會 | 監控裝置、方法及其電腦程式產品 |
CN110287268A (zh) * | 2019-06-30 | 2019-09-27 | 智慧谷(厦门)物联科技有限公司 | 一种基于区块链的数字资产处理方法和系统 |
CN111324453A (zh) * | 2020-01-23 | 2020-06-23 | 天津大学 | 用于区块链平台资源调度的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202226126A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7308003B2 (ja) | 非集中的な分散型深層学習 | |
JP6381170B2 (ja) | 基数推定を介した結合パスの効率的な判定 | |
US8898422B2 (en) | Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration | |
CN113469355B (zh) | 分布式系统中的多模型训练管道 | |
CN111986194B (zh) | 医学标注图像检测方法、装置、电子设备及存储介质 | |
US12034817B2 (en) | Methods and apparatus for user identification via community detection | |
CN113449861A (zh) | 使用部分梯度更新的推测性训练 | |
CN115865607A (zh) | 一种分布式训练的计算节点管理方法及相关装置 | |
CN109697083B (zh) | 数据的定点化加速方法、装置、电子设备及存储介质 | |
US20200226461A1 (en) | Asynchronous early stopping in hyperparameter metaoptimization for a neural network | |
TWI764456B (zh) | 區塊運算方法、裝置、電腦裝置及儲存介質 | |
US20240163344A1 (en) | Methods and apparatus to perform computer-based community detection in a network | |
US20190236752A1 (en) | Wide key hash table for a graphics processing unit | |
WO2023071566A1 (zh) | 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
TWI777319B (zh) | 幹細胞密度確定方法、裝置、電腦裝置及儲存介質 | |
TW202145078A (zh) | 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體 | |
CN114726851B (zh) | 区块运算方法、装置、电子设备及存储介质 | |
US11636111B1 (en) | Extraction of relationship graphs from relational databases | |
TWI769661B (zh) | 圖像異常檢測方法、裝置、電腦裝置及儲存介質 | |
CN114666327B (zh) | 基于区块链交易的区块打包方法、装置及电子设备 | |
TW202315360A (zh) | 微服務分配方法、電子設備及儲存介質 | |
US11811862B1 (en) | System and method for management of workload distribution | |
US10630957B2 (en) | Scalable distributed computation framework for data-intensive computer vision workloads | |
US12047439B1 (en) | System and method for management of workload distribution in shared environment | |
WO2024108382A1 (en) | Methods and apparatus to perform many-to-one feature distillation in neural networks |