TWI794713B - 區塊鏈構建方法及相關設備 - Google Patents
區塊鏈構建方法及相關設備 Download PDFInfo
- Publication number
- TWI794713B TWI794713B TW109146562A TW109146562A TWI794713B TW I794713 B TWI794713 B TW I794713B TW 109146562 A TW109146562 A TW 109146562A TW 109146562 A TW109146562 A TW 109146562A TW I794713 B TWI794713 B TW I794713B
- Authority
- TW
- Taiwan
- Prior art keywords
- edge computing
- block
- node
- chain
- blockchain
- Prior art date
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本發明提供一種區塊鏈構建方法及相關設備。區塊鏈構建方法應用於分散式系統中,分散式系統包括雲端中心及多個邊緣計算節點,包括:獲取距離雲端中心預設第一距離閾值的多個第一邊緣計算節點,計算節點構建一條區塊鏈主鏈;從多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,獲取距離共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,計算節點及多個第二邊緣計算節點構建至少一條區塊鏈側鏈;將至少一條區塊鏈側鏈產生的區塊寫入區塊鏈主鏈中。本發明可以提升構建區塊鏈的效率。
Description
本發明涉及區塊鏈技術領域,具體涉及一種區塊鏈構建方法及裝置、電腦設備和電腦可讀儲存介質。
邊緣計算的使用在網路服務或通訊服務上愈顯重要,但是邊緣計算節點的資料與雲端中心不同步,且在資料傳送的過程中存在資料難以追溯和資料傳輸可能遺失或被盜取的風險。
去中心化的區塊鏈網路可以有效的增加資料安全性,將資料儲存在不同的區塊鏈節點中,避免資料的遺失。
因此,如何基於分散式系統中的邊緣計算節點構建區塊鏈網路成為待解決的技術問題。
鑒於以上內容,有必要提出一種區塊鏈構建方法及裝置、電腦設備、電腦可讀儲存介質和電腦程式產品,其可以透過將邊緣計算節點視作為區塊鏈節點,並藉由適當的分群與側鏈控制,有效的將分散式系統中的邊緣計算節點構建成一個高效能的區塊鏈網路,從而保障分散式系統中資料的同步及傳輸過程中的安全。
本申請的第一方面提供一種區塊鏈構建方法,所述區塊鏈構建方法
包括:獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈;將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
另一種可能的實現方式中,所述基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈包括:透過所述雲端中心生成第一創世區塊;透過所述多個第一邊緣計算節點驗證所述第一創世區塊;當確定驗證所述第一創世區塊成功時,將所述第一創世區塊作為所述區塊鏈主鏈的鏈頭,並控制所述雲端中心和所述多個第一邊緣計算節點繼續生成區塊。
另一種可能的實現方式中,所述基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈包括:將所述共用邊緣計算節點產生的區塊作為第二創世區塊;透過所述共用邊緣計算節點和所述多個第二邊緣計算節點驗證所述第二創世區塊;當確定驗證所述第二創世區塊成功時,將所述第二創世區塊作為所述至少一條區塊鏈側鏈的鏈頭,並控制所述共用邊緣計算節點和所述多個第二邊緣計算節點繼續生成區塊。
另一種可能的實現方式中,所述將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中包括:判斷所述至少一條區塊鏈側鏈是否滿足預設條件;當所述至少一條區塊鏈側鏈滿足所述預設條件時,獲取所述至少一條區塊鏈側鏈的最後一個區塊的第一雜湊值,獲取所述區塊鏈主鏈的最後一個區塊的第二雜湊值;控制所述雲端中心和所述多個第一邊緣計算節點在所述區塊鏈主鏈新生成一個目標區塊,將所述第一雜湊值和所述第二雜湊值寫入所述目標區塊,使所述目標區塊的雜湊值等於所述第一雜湊值與所述第二雜湊值的合併值。
另一種可能的實現方式中,所述判斷所述至少一條區塊鏈側鏈是否
滿足預設條件包括:獲取所述至少一條區塊鏈側鏈產生的區塊的總數量;判斷所述總數量是否等於預設數量閾值;當所述總數量等於所述預設數量閾值時,確定所述至少一條區塊鏈側鏈滿足所述預設條件;當所述總數量小於所述預設數量閾值,確定所述至少一條區塊鏈側鏈不滿足所述預設條件。
另一種可能的實現方式中,所述區塊鏈構建方法還包括:接收使用者終端在第一位置的第一交易請求,確定距離所述第一位置最近的第一目標邊緣計算節點;將所述第一交易請求分配給所述第一目標邊緣計算節點所在的第一區塊鏈側鏈中,並透過所述第一區塊鏈側鏈驗證所述第一交易請求的有效性並生成第一交易區塊;將所述第一交易區塊上傳到所述第一區塊鏈側鏈中。
另一種可能的實現方式中,在所述生成第一交易區塊之後,所述區塊鏈構建方法還包括:接收所述使用者終端在第二位置的第二交易請求,確定距離所述第二位置最近的第二目標邊緣計算節點;將所述第二交易請求分配給所述第二目標邊緣計算節點所在的第二區塊鏈側鏈;判斷所述第一區塊鏈側鏈與所述第二區塊鏈側鏈是否有共同的邊緣計算節點;當確定所述第一區塊鏈側鏈與所述第二區塊鏈側鏈有共同的邊緣計算節點時,透過所述共同的邊緣計算節點獲取所述第一交易區塊;根據所述第一交易區塊生成第二交易區塊,並將所述第二交易區塊上傳到所述第二區塊鏈側鏈中。
本申請的第二方面提供一種區塊鏈構建裝置,應用於分散式系統,所述分散式系統包括雲端中心及多個邊緣計算節點,所述區塊鏈構建裝置包括:第一構建單元,用於獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;第二構建單元,用於從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈;寫入單元,用於將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
本申請的第三方面提供一種電腦可讀儲存介質,所述電腦可讀儲存介質上儲存有電腦程式,所述電腦程式被處理器執行時實現所述區塊鏈構建方法。
本發明可以透過將邊緣計算節點視作為區塊鏈節點,並藉由適當的分群與側鏈控制,有效地將分散式系統中的邊緣計算節點構建成一個高效能的區塊鏈網路,從而保障分散式系統中資料的同步及傳輸過程中的安全。
20:區塊鏈構建裝置
201:第一構建單元
202:第二構建單元
203:寫入單元
30:電腦設備
301:儲存器
302:處理器
303:電腦程式
304:匯流排
圖1是本發明實施例提供的區塊鏈構建方法較佳實施例的流程圖。
圖2是本發明實施例提供的節點群的示意圖。
圖3是本發明實施例提供的主側鏈產生區塊的示意圖。
圖4是本發明實施例提供的根據交易請求方的位置處理交易的示意圖。
圖5是本發明實施例提供的區塊鏈構建裝置較佳實施例的結構圖。
圖6是本發明實施例提供的電腦設備較佳實施例的示意圖。
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不用於限定本發明。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本申請的說明書和請求項書及上述附圖中的術語“第一”、“第二”、“第三”、“第四”等(如果存在)是用於區別類似的物件,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情況下可以互換,以便這裡描述的實施例能夠以除了在這裡圖示或描述的內容以外的順序實施。此外,術語
“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、裝置、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
可選地,本發明的區塊鏈構建方法應用在分散式系統中。所述分散式系統包括多個電腦設備。所述多個電腦設備是組成區塊鏈網路的節點。所述電腦設備是一種能夠按照事先設定或儲存的指令,自動進行數值計算和/或資訊處理的設備,其硬體包括但不限於微處理器、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計閘陣列(Field-Programmable Gate Array,FPGA)、數位訊號處理器(Digital Signal Processor,DSP)、嵌入式設備等。
所述電腦設備可以是桌上型電腦、筆記本、掌上型電腦及雲端伺服器等計算設備。所述電腦設備可以與使用者透過鍵盤、滑鼠、遙控器、觸控板或聲控設備等方式進行人機交互。
實施例一:
圖1是本發明實施例提供的區塊鏈構建方法的流程圖。所述區塊鏈構建方法應用於分散式系統中,所述分散式系統包括雲端中心及多個邊緣計算節點。
參閱1所示,所述區塊鏈構建方法具體包括以下步驟:
101,獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈。
具體地,獲取各個邊緣計算節點與所述雲端中心的距離值,將距離值小於或等於所述預設第一距離閾值的邊緣計算節點確定為多個第一邊緣計算節點。
例如,預設第一距離閾值為2km,獲取雲端中心與3個邊緣計算節點(節點A、節點B、節點C)的距離。雲端中心與節點A的距離為1km,
雲端中心與節點B的距離為2km,雲端中心與節點C的距離為3km,將節點A和節點B確定為多個第一邊緣計算節點。
在一具體實施例中,所述基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈包括:透過所述雲端中心生成第一創世區塊;透過所述多個第一邊緣計算節點驗證所述第一創世區塊;當確定驗證所述第一創世區塊成功時,將所述第一創世區塊作為所述區塊鏈主鏈的鏈頭,並控制所述雲端中心和所述多個第一邊緣計算節點繼續生成區塊。
可以基於所述雲端中心和所述多個第一邊緣計算節點組建區塊鏈網路,使所述雲端中心和所述第一邊緣計算節點能夠相互通信。區塊鏈(包括區塊鏈主鏈)由多個相連的區塊構成,每個區塊記錄了一段時間內區塊鏈網路中的交易情況,可以將區塊視為帳簿中的帳頁。第一個被最早構建的區塊稱為創世區塊,擁有一個唯一的ID標識號。除創世區塊外,每個後續建立的區塊均包含兩個ID號,一個是該區塊自身的ID號,另一個是前序區塊的ID號。透過ID號之間的前後指向關係,所有區塊按序相連就構成了區塊鏈。
所述創世區塊(包括第一創世區塊)包含有創世區塊時間戳記、初始雜湊值及初始核心參數。
102,從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈。
具體地,所述獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點包括:獲取預設節點數量閾值,獲取一個共用邊緣計算節點,以共用邊緣計算節點為當前節點查找當前節點的鄰近節點,將當前節點和當前節點的鄰近節點確定為第二邊緣計算節點;將當前節點的鄰近節點確定為當前節點,反覆運算查找當前節點的鄰近節點,將當前節點的鄰近節點確定為第二邊緣計算節點,當第二邊緣計算節點的數量等於所述預設節點數量閾
值時,停止反覆運算。當前節點的鄰近節點是距離當前節點最近的一個或多個節點。
在一具體實施例中,所述基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈包括:將所述共用邊緣計算節點產生的區塊作為第二創世區塊;透過所述共用邊緣計算節點和所述多個第二邊緣計算節點驗證所述第二創世區塊;當確定驗證所述第二創世區塊成功時,將所述第二創世區塊作為所述至少一條區塊鏈側鏈的鏈頭,並控制所述共用邊緣計算節點和所述多個第二邊緣計算節點繼續生成區塊。
可以基於所述共用邊緣計算節點及所述多個第二邊緣計算節點組建區塊鏈網路。所述共用邊緣計算節點連接了所述多個第一邊緣計算節點、所述雲端中心和所述多個第二邊緣計算節點。
在另一實施例中,所述區塊鏈主鏈和所述至少一條區塊鏈側鏈採用相同的共識機制。所述共識機制包括DPOS(授權股權證明,Delegated Proof-of-Stake)機制、PoW(工作量證明,Proof of Work)機制等。所述共識機制用於驗證新產生的區塊的有效性。例如,控制所述共用邊緣計算節點及所述多個第二邊緣計算節點透過所述共識機制驗證所述第二創世區塊。
103,將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
在一具體實施例中,所述將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中包括:判斷所述至少一條區塊鏈側鏈是否滿足預設條件;當所述至少一條區塊鏈側鏈滿足所述預設條件時,獲取所述至少一條區塊鏈側鏈的最後一個區塊的第一雜湊值,獲取所述區塊鏈主鏈的最後一個區塊的第二雜湊值;控制所述雲端中心和所述多個第一邊緣計算節點在所述區塊鏈主鏈新生成一個目標區塊,將所述第一雜湊值和所述第二雜湊值寫入所述目標區塊,使所述目標區塊的雜湊值等於所述第一雜湊值與所述第二雜湊值的合併值。
在一具體實施例中,所述判斷所述至少一條區塊鏈側鏈是否滿足預設條件包括:獲取所述至少一條區塊鏈側鏈產生的區塊的總數量;判斷所述總數量是否等於預設數量閾值;當所述總數量等於所述預設數量閾值時,確定所述至少一條區塊鏈側鏈滿足所述預設條件;當所述總數量小於所述預設數量閾值,確定所述至少一條區塊鏈側鏈不滿足所述預設條件。
在另一實施例中,當所述總數量大於所述預設數量閾值時,確定所述至少一條區塊鏈側鏈滿足所述預設條件。
在另一實施例中,所述判斷所述至少一條區塊鏈側鏈是否滿足預設條件包括:獲取上一次將所述至少一條區塊鏈側鏈寫入所述區塊鏈主鏈的第一時間點,獲取預設週期和當前時間點;根據所述第一時間點和所述預設週期,確定下一次將所述至少一條區塊鏈側鏈寫入所述區塊鏈主鏈的第二時間點;當所述當前時間點等於所述第二時間點,判斷所述至少一條區塊鏈側鏈滿足預設條件;當所述當前時間點不等於所述第二時間點,判斷所述至少一條區塊鏈側鏈不滿足預設條件。
在一具體實施例中,將所述至少一條區塊鏈側鏈寫入所述區塊鏈主鏈之後,控制所述共用邊緣計算節點及所述多個第二邊緣計算節點根據所述區塊鏈主鏈重新構建新的區塊鏈側鏈。當重新構建新的區塊鏈側鏈時,所述共用邊緣計算節點及所述多個第二邊緣計算節點在新的區塊鏈側鏈中生成區塊的難度降低。
實施例一的區塊鏈構建方法可以構建由區塊鏈側鏈和區塊鏈主鏈組成的區塊鏈,提升構建區塊鏈的效率。透過將邊緣計算節點視作為區塊鏈節點,並藉由適當的分群與側鏈控制,有效的將分散式系統中的邊緣計算節點構建成一個高效能的區塊鏈網路,從而保障分散式系統中資料的同步及傳輸過程中的安全。
在另一實施例中,所述區塊鏈構建方法還包括:接收使用者終端在第一位置的第一交易請求,確定距離所述第一位置最近的第一目標邊緣計算
節點;將所述第一交易請求分配給所述第一目標邊緣計算節點所在的第一區塊鏈側鏈中,並透過所述第一區塊鏈側鏈驗證所述第一交易請求的有效性並生成第一交易區塊;將所述第一交易區塊上傳到所述第一區塊鏈側鏈中。
在另一實施例中,在所述生成第一交易區塊之後,所述區塊鏈構建方法還包括:接收所述使用者終端在第二位置的第二交易請求,確定距離所述第二位置最近的第二目標邊緣計算節點;將所述第二交易請求分配給所述第二目標邊緣計算節點所在的第二區塊鏈側鏈;判斷所述第一區塊鏈側鏈與所述第二區塊鏈側鏈是否有共同的邊緣計算節點;當確定所述第一區塊鏈側鏈與所述第二區塊鏈側鏈有共同的邊緣計算節點時,透過所述共同的邊緣計算節點獲取所述第一交易區塊;根據所述第一交易區塊生成第二交易區塊,並將所述第二交易區塊上傳到所述第二區塊鏈側鏈中。
所述第一區塊鏈側鏈與所述第二區塊鏈側鏈有所述共同的邊緣計算節點;當所述使用者終端在所述第一位置透過第一區塊鏈側鏈進行第一次交易時,所述共同的邊緣計算節點能夠獲取第一次交易的交易資訊;當所述使用者終端在所述第二位置透過第二區塊鏈側鏈進行第二次交易時,所述第二區塊鏈側鏈能夠透過所述共同的邊緣計算節點獲取第一次交易的交易資訊。透過所述共同的邊緣計算節點作為交易資訊傳輸的通道,能夠減少交易資訊傳輸的時間消耗。第一次交易的交易資訊和第二次交易的交易資訊包括使用者終端的帳本資訊。
在上述實施例中,可以用所述區塊鏈主鏈替換所述第一區塊鏈側鏈或所述第二區塊鏈側鏈。例如,用所述區塊鏈主鏈替換所述第二區塊鏈側鏈。在所述生成第一交易區塊之後,接收所述使用者終端在第二位置的第二交易請求,確定距離所述第二位置最近的第二目標邊緣計算節點;將所述第二交易請求分配給所述第二目標邊緣計算節點所在的區塊鏈(為所述區塊鏈主鏈);判斷所述第一區塊鏈側鏈與所述區塊鏈主鏈是否有共同的邊緣計算節點;當確定所述第一區塊鏈側鏈與所述區塊鏈主鏈有共同的邊緣計算節點時,透過所述共
同的邊緣計算節點獲取所述第一交易區塊;根據所述第一交易區塊生成第二交易區塊,並將所述第二交易區塊上傳到所述區塊鏈主鏈中。
圖2是本發明實施例提供的節點群的示意圖。中間的菱形塊表示雲端中心,正方形塊表示邊緣計算節點。包括菱形塊的橢圓表示由所述雲端中心和所述多個第一邊緣計算節點組成的主鏈節點群,不包括菱形塊的橢圓或圓表示由所述共用邊緣計算節點和所述多個第二邊緣計算節點組成的側鏈節點群。同時存在於主鏈節點群和側鏈節點群的邊緣計算節點為所述共用邊緣計算節點。
圖3是本發明實施例提供的主側鏈產生區塊的示意圖。基於所述主鏈節點群(基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈)構建區塊鏈主鏈後,控制側鏈節點群(所述共用邊緣計算節點和所述多個第二邊緣計算節點)從區塊鏈主鏈中的A區塊產生區塊鏈側鏈的創世區塊。該區塊鏈側鏈對應一個側鏈節點群,該側鏈節點群在該區塊鏈側鏈繼續產生新的區塊。當產生X區塊後,區塊鏈側鏈滿足預設條件(如區塊鏈側鏈的長度達到5個),透過合併X區塊的hash值和區塊鏈主鏈的對應區塊的hash值將區塊鏈側鏈的信息錨定到主鏈。
圖4是本發明實施例提供的根據交易請求方的位置處理交易的示意圖。L1、L2、L3表示3個不同的位置。N1、N2、N3、Nc表示節點。將N1、N2所屬的節點群記為第一節點群,將N3所屬的節點群記為第二節點群。Nc為第一節點群和第二節點群間的第二共用節點。其中,第一節點群和第二節點群為側鏈節點群;或第一節點群為主鏈節點群,第二節點群為側鏈節點群;或第一節點群為側鏈節點群,第二節點群為主鏈節點群。
當使用者終端在位置L1發送交易請求時,將交易請求分配給距離位置L1最近的N1節點。N1節點屬於第一節點群,第一節點群對應第一區塊鏈側鏈,透過第一節點群驗證交易是否有效,當交易有效時,透過第一節點群在第一區塊鏈側鏈中新生成第一個交易區塊。
當使用者終端在位置L2發送交易請求時,將交易請求分配給距離位置L2最近的N2節點。N2節點屬於第一節點群,透過第一節點群驗證交易是否有效,當交易有效時,透過第一節點群在第一區塊鏈側鏈中新生成二個交易區塊。
當使用者終端在位置L3發送交易請求時,將交易請求分配給距離位置L3最近的N3節點。N3節點屬於第二節點群,第二節點群對應第二區塊鏈側鏈,透過第二節點群驗證交易是否有效,當交易有效時,透過第二節點群在第二區塊鏈側鏈中新生成第三個交易區塊。第一節點群和第二節點群中都存在Nc節點(所述共同的邊緣計算節點),當使用者終端在第一區塊鏈側鏈進行交易時,Nc節點能夠獲得使用者終端的帳本資訊;當使用者終端在第二區塊鏈側鏈進行交易時,第二節點群能夠從Nc節點獲取使用者終端的帳本資訊。
實施例二:
圖5為本發明實施例提供的區塊鏈構建裝置較佳實施例的結構圖。所述區塊鏈構建裝置20應用於分散式系統,所述分散式系統包括雲端中心及多個邊緣計算節點。
如圖5所示,所述區塊鏈構建裝置20可以包括:第一構建單元201、第二構建單元202、寫入單元203。
第一構建單元201,用於獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈。
具體地,獲取各個邊緣計算節點與所述雲端中心的距離值,將距離值小於或等於所述預設第一距離閾值的邊緣計算節點確定為多個第一邊緣計算節點。
例如,預設第一距離閾值為2km,獲取雲端中心與3個邊緣計算節點(節點A、節點B、節點C)的距離。雲端中心與節點A的距離為1km,
雲端中心與節點B的距離為2km,雲端中心與節點C的距離為3km,將節點A和節點B確定為多個第一邊緣計算節點。
在一具體實施例中,所述基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈包括:透過所述雲端中心生成第一創世區塊;透過所述多個第一邊緣計算節點驗證所述第一創世區塊;當確定驗證所述第一創世區塊成功時,將所述第一創世區塊作為所述區塊鏈主鏈的鏈頭,並控制所述雲端中心和所述多個第一邊緣計算節點繼續生成區塊。
可以基於所述雲端中心和所述多個第一邊緣計算節點組建區塊鏈網路,使所述雲端中心和所述第一邊緣計算節點能夠相互通信。區塊鏈(包括區塊鏈主鏈)由多個相連的區塊構成,每個區塊記錄了一段時間內區塊鏈網路中的交易情況,可以將區塊視為帳簿中的帳頁。第一個被最早構建的區塊稱為創世區塊,擁有一個唯一的ID標識號。除創世區塊外,每個後續建立的區塊均包含兩個ID號,一個是該區塊自身的ID號,另一個是前序區塊的ID號。透過ID號間的前後指向關係,所有區塊按序相連就構成了區塊鏈。
所述創世區塊(包括第一創世區塊)包含有創世區塊時間戳記、初始雜湊值及初始核心參數。
第二構建單元202,用於從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈。
具體地,所述獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點包括:獲取預設節點數量閾值,獲取一個共用邊緣計算節點,以共用邊緣計算節點為當前節點查找當前節點的鄰近節點,將當前節點和當前節點的鄰近節點確定為第二邊緣計算節點;將當前節點的鄰近節點確定為當前節點,反覆運算查找當前節點的鄰近節點,將當前節點的鄰近節點確定為第二邊緣計算節點,當第二邊緣計算節點的數量等於所述預設節點數量閾
值時,停止反覆運算。當前節點的鄰近節點是距離當前節點最近的一個或多個節點。
在一具體實施例中,所述基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈包括:將所述共用邊緣計算節點產生的區塊作為第二創世區塊;透過所述共用邊緣計算節點和所述多個第二邊緣計算節點驗證所述第二創世區塊;當確定驗證所述第二創世區塊成功時,將所述第二創世區塊作為所述至少一條區塊鏈側鏈的鏈頭,並控制所述共用邊緣計算節點和所述多個第二邊緣計算節點繼續生成區塊。
可以基於所述共用邊緣計算節點及所述多個第二邊緣計算節點組建區塊鏈網路。所述共用邊緣計算節點連接了所述多個第一邊緣計算節點、所述雲端中心和所述多個第二邊緣計算節點。
在另一實施例中,所述區塊鏈主鏈和所述至少一條區塊鏈側鏈採用相同的共識機制。所述共識機制包括DPOS(授權股權證明,Delegated Proof-of-Stake)機制、PoW(工作量證明,Proof of Work)機制等。所述共識機制用於驗證新產生的區塊的有效性。例如,控制所述共用邊緣計算節點及所述多個第二邊緣計算節點透過所述共識機制驗證所述第二創世區塊。
寫入單元203,用於將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
在一具體實施例中,所述將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中包括:判斷所述至少一條區塊鏈側鏈是否滿足預設條件;當所述至少一條區塊鏈側鏈滿足所述預設條件時,獲取所述至少一條區塊鏈側鏈的最後一個區塊的第一雜湊值,獲取所述區塊鏈主鏈的最後一個區塊的第二雜湊值;控制所述雲端中心和所述多個第一邊緣計算節點在所述區塊鏈主鏈新生成一個目標區塊,將所述第一雜湊值和所述第二雜湊值寫入所述目標區塊,使所述目標區塊的雜湊值等於所述第一雜湊值與所述第二雜湊值的合併值。
在一具體實施例中,所述判斷所述至少一條區塊鏈側鏈是否滿足預設條件包括:獲取所述至少一條區塊鏈側鏈產生的區塊的總數量;判斷所述總數量是否等於預設數量閾值;當所述總數量等於所述預設數量閾值時,確定所述至少一條區塊鏈側鏈滿足所述預設條件;當所述總數量小於所述預設數量閾值,確定所述至少一條區塊鏈側鏈不滿足所述預設條件。
在另一實施例中,當所述總數量大於所述預設數量閾值時,確定所述至少一條區塊鏈側鏈滿足所述預設條件。
在另一實施例中,所述判斷所述至少一條區塊鏈側鏈是否滿足預設條件包括:獲取上一次將所述至少一條區塊鏈側鏈寫入所述區塊鏈主鏈的第一時間點,獲取預設週期和當前時間點;根據所述第一時間點和所述預設週期,確定下一次將所述至少一條區塊鏈側鏈寫入所述區塊鏈主鏈的第二時間點;當所述當前時間點等於所述第二時間點,判斷所述至少一條區塊鏈側鏈滿足預設條件;當所述當前時間點不等於所述第二時間點,判斷所述至少一條區塊鏈側鏈不滿足預設條件。
在一具體實施例中,將所述至少一條區塊鏈側鏈寫入所述區塊鏈主鏈之後,控制所述共用邊緣計算節點及所述多個第二邊緣計算節點根據所述區塊鏈主鏈重新構建新的區塊鏈側鏈。當重新構建新的區塊鏈側鏈時,所述共用邊緣計算節點及所述多個第二邊緣計算節點在新的區塊鏈側鏈中生成區塊的難度降低。
實施例二的區塊鏈構建裝置20可以構建由區塊鏈側鏈和區塊鏈主鏈組成的區塊鏈,提升構建區塊鏈的效率。透過將邊緣計算節點視作為區塊鏈節點,並藉由適當的分群與側鏈控制,有效的將分散式系統中的邊緣計算節點構建成一個高效能的區塊鏈網路,從而保障分散式系統中資料的同步及傳輸過程中的安全。
在另一實施例中,所述區塊鏈構建裝置還包括上傳單元,用於接收使用者終端在第一位置的第一交易請求,確定距離所述第一位置最近的第一
目標邊緣計算節點;將所述第一交易請求分配給所述第一目標邊緣計算節點所在的第一區塊鏈側鏈中,並透過所述第一區塊鏈側鏈驗證所述第一交易請求的有效性並生成第一交易區塊;將所述第一交易區塊上傳到所述第一區塊鏈側鏈中。
在另一實施例中,所述上傳單元還用於在所述生成第一交易區塊之後,接收所述使用者終端在第二位置的第二交易請求,確定距離所述第二位置最近的第二目標邊緣計算節點;將所述第二交易請求分配給所述第二目標邊緣計算節點所在的第二區塊鏈側鏈;判斷所述第一區塊鏈側鏈與所述第二區塊鏈側鏈是否有共同的邊緣計算節點;當確定所述第一區塊鏈側鏈與所述第二區塊鏈側鏈有共同的邊緣計算節點時,透過所述共同的邊緣計算節點獲取所述第一交易區塊;根據所述第一交易區塊生成第二交易區塊,並將所述第二交易區塊上傳到所述第二區塊鏈側鏈中。
所述第一區塊鏈側鏈與所述第二區塊鏈側鏈有所述共同的邊緣計算節點;當所述使用者終端在所述第一位置透過第一區塊鏈側鏈進行第一次交易時,所述共同的邊緣計算節點能夠獲取第一次交易的交易資訊;當所述使用者終端在所述第二位置透過第二區塊鏈側鏈進行第二次交易時,所述第二區塊鏈側鏈能夠透過所述共同的邊緣計算節點獲取第一次交易的交易資訊。透過所述共同的邊緣計算節點作為交易資訊傳輸的通道,能夠減少交易資訊傳輸的時間消耗。第一次交易的交易資訊和第二次交易的交易資訊包括使用者終端的帳本資訊。
在上述實施例中,可以用所述區塊鏈主鏈替換所述第一區塊鏈側鏈或所述第二區塊鏈側鏈。例如,用所述區塊鏈主鏈替換所述第二區塊鏈側鏈。在所述生成第一交易區塊之後,接收所述使用者終端在第二位置的第二交易請求,確定距離所述第二位置最近的第二目標邊緣計算節點;將所述第二交易請求分配給所述第二目標邊緣計算節點所在的區塊鏈(為所述區塊鏈主鏈);判斷所述第一區塊鏈側鏈與所述區塊鏈主鏈是否有共同的邊緣計算節點;當確定
所述第一區塊鏈側鏈與所述區塊鏈主鏈有共同的邊緣計算節點時,透過所述共同的邊緣計算節點獲取所述第一交易區塊;根據所述第一交易區塊生成第二交易區塊,並將所述第二交易區塊上傳到所述區塊鏈主鏈中。
實施例三
本實施例提供一種電腦可讀儲存介質,該電腦可讀儲存介質上儲存有電腦程式,該電腦程式被處理器執行時實現上述區塊鏈構建方法實施例中的步驟,例如圖1所示的101-103:101,獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;102,從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈;103,將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
或者,該電腦程式被處理器執行時實現上述裝置實施例中各模組/單元的功能,例如圖5中的單元201-203:第一構建單元201,用於獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;第二構建單元202,用於從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈;
寫入單元203,用於將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
實施例四
圖6為本發明實施例提供的電腦設備的示意圖。所述電腦設備30包括儲存器301、處理器302、儲存在所述儲存器301中並可在所述處理器302上運行的電腦程式303以及匯流排304,例如區塊鏈構建方法程式。所述處理器302執行所述電腦程式303時實現上述區塊鏈構建方法實施例中的步驟,例如圖1所示的101-103:101,獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;102,從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈;103,將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
或者,所述處理器302執行所述電腦程式303時實現上述裝置實施例中各模組/單元的功能,例如圖5中的單元201-203:第一構建單元201,用於獲取距離所述雲端中心預設第一距離閾值的多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;第二構建單元202,用於從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取距離所述共用邊緣計算節點預設第二距離閾值的多個第二邊緣計算節點,基於所述共用邊緣計算節點及所述多個第二邊緣計算節點構建至少一條區塊鏈側鏈;
寫入單元203,用於將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中。
示例性的,所述電腦程式303可以被分割成一個或多個模組/單元,所述一個或者多個模組/單元被儲存在所述儲存器301中,並由所述處理器302執行,以完成本發明。所述一個或多個模組/單元可以是能夠完成特定功能的一系列電腦程式指令段,該指令段用於描述所述電腦程式303在所述電腦設備30中的執行過程。例如,所述電腦程式303可以被分割成圖5中的第一構建單元201、第二構建單元202、寫入單元203,各單元具體功能參見實施例二。
所述電腦設備30可以是PC(Personal Computer,個人電腦),也可以是智慧手機、平板電腦、掌上型電腦、可攜式電腦、智慧路由器、礦機、網路存放裝置等終端設備。
所稱處理器302可以是中央處理單元(Central Processing Unit,CPU),還可以是其他通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式設計閘陣列(Field-Programmable Gate Array,FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。通用處理器可以是微處理器或者該處理器302也可以是任何常規的處理器等,所述處理器302是所述電腦設備30的控制中心,利用各種介面和線路連接整個電腦設備30的各個部分。
所述儲存器301可用於儲存所述電腦程式303和/或模組/單元,所述處理器302透過運行或執行儲存在所述儲存器301內的電腦程式和/或模組/單元,以及調用儲存在儲存器301內的資料,實現所述電腦設備30的各種功能。所述儲存器301可主要包括儲存程式區和儲存資料區,其中,儲存程式區可儲存作業系統、至少一個功能所需的應用程式(比如聲音播放功能、圖像播放功能等)等;儲存資料區可儲存根據電腦設備30的使用所創建的資料等。此外,儲存器301可以包括非易失性儲存器,例如硬碟、儲存器、插接式硬碟,智慧儲存卡(Smart Media Card,SMC),安全數位(Secure Digital,SD)卡,快閃儲
存器卡(Flash Card)、至少一個磁碟儲存器件、快閃儲存器器件、或其他易失性固態儲存器件。
所述匯流排304以是外設部件互連標準(peripheral component interconnect,簡稱PCI)匯流排或延伸工業標準架構(extended industry standard architecture,簡稱EISA)匯流排等。所述匯流排304可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖6中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
進一步地,電腦設備30還可以包括網路介面,網路介面可選的可以包括有線介面和/或無線介面(如WI-FI介面、藍牙介面等),通常用於在該電腦設備30與其他電腦裝置之間建立通信連接。
可選地,該電腦設備30還可以包括使用者介面,使用者介面可以包括顯示器(Display)、輸入單元比如鍵盤(Keyboard),可選的使用者介面還可以包括標準的有線介面、無線介面。可選地,在一些實施例中,顯示器可以是LED顯示器、液晶顯示器、觸控式液晶顯示器以及OLED(Organic Light-Emitting Diode,有機發光二極體)觸摸器等。其中,顯示器也可以適當的稱為顯示幕或顯示單元,用於顯示在電腦設備30中處理的資訊以及用於顯示視覺化的使用者介面。
本領域技術人員可以理解,所述示意圖6僅僅是電腦設備30的示例,並不構成對電腦設備30的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件。
在上述實施例中,可以全部或部分地透過軟體、硬體、固件或者其任意組合來實現。當使用軟體實現時,可以全部或部分地以電腦程式產品的形式實現。
所述電腦程式產品包括一個或多個電腦指令。在電腦設備上載入和執行所述電腦程式指令時,全部或部分地產生按照本發明實施例所述的流程或功能。所述電腦設備可以是通用電腦、專用電腦、電腦網路、或者其他可程
式設計裝置。所述電腦指令可以儲存在電腦可讀儲存介質中,或者從一個電腦可讀儲存介質向另一電腦可讀儲存介質傳輸,例如,所述電腦指令可以從一個網站網站、電腦、伺服器或資料中心透過有線(例如同軸電纜、光纖、數位用戶線路(DSL))或無線(例如紅外、無線、微波等)方式向另一個網站網站、電腦、伺服器或資料中心進行傳輸。所述電腦可讀儲存介質可以是電腦能夠儲存的任何可用介質或者是包含一個或多個可用介質集成的伺服器、資料中心等區塊鏈構建方法設備。所述可用介質可以是磁性介質,(例如,軟碟、硬碟、磁帶)、光介質(例如,DVD)、或者半導體介質(例如固態硬碟Solid State Disk(SSD))等。
所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以透過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個裝置,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是透過一些介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存介質中。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本申請各個實施例所述區塊鏈構建方法的全部或部分步驟。而前述的儲存介質包括:隨身碟、移動硬碟、唯讀儲存器(ROM,Read-Only Memory)、磁碟或者光碟等各種可以儲存程式碼的介質。
需要說明的是,上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。並且本文中的術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、裝置、物品或者方法不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、裝置、物品或者方法所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括該要素的過程、裝置、物品或者方法中還存在另外的相同要素。
以上僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。
Claims (9)
- 一種區塊鏈構建方法,由電腦設備執行,應用於分散式系統中,所述分散式系統包括雲端中心及多個邊緣計算節點,其中,所述區塊鏈構建方法包括:獲取各個所述邊緣計算節點與所述雲端中心的距離值,將距離值小於或等於預設第一距離閾值的邊緣計算節點確定為多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取預設節點數量閾值,以所述共用邊緣計算節點為當前節點查找當前節點的鄰近節點,將所述當前節點和所述當前節點的鄰近節點確定為第二邊緣計算節點;將所述當前節點的鄰近節點確定為當前節點,反覆運算查找所述當前節點的鄰近節點,將所述當前節點的鄰近節點確定為所述第二邊緣計算節點,當所述第二邊緣計算節點的數量等於所述預設節點數量閾值時,停止反覆運算,基於所述共用邊緣計算節點及多個所述第二邊緣計算節點構建至少一條區塊鏈側鏈;將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中,包括:判斷所述至少一條區塊鏈側鏈是否滿足預設條件;當所述至少一條區塊鏈側鏈滿足所述預設條件時,獲取所述至少一條區塊鏈側鏈的最後一個區塊的第一雜湊值,獲取所述區塊鏈主鏈的最後一個區塊的第二雜湊值;控制所述雲端中心和所述多個第一邊緣計算節點在所述區塊鏈主鏈新生成一個目標區塊,將所述第一雜湊值和所述第二雜湊值寫入所述目標區塊,使所述目標區塊的雜湊值等於所述第一雜湊值與所述第二雜湊值的合併值。
- 如請求項1所述的區塊鏈構建方法,其中,所述基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈包括:透過所述雲端中心生成第一創世區塊;透過所述多個第一邊緣計算節點驗證所述第一創世區塊; 當確定驗證所述第一創世區塊成功時,將所述第一創世區塊作為所述區塊鏈主鏈的鏈頭,並控制所述雲端中心和所述多個第一邊緣計算節點繼續生成區塊。
- 如請求項1所述的區塊鏈構建方法,其中,所述基於所述共用邊緣計算節點及多個所述第二邊緣計算節點構建至少一條區塊鏈側鏈包括:將所述共用邊緣計算節點產生的區塊作為第二創世區塊;透過所述共用邊緣計算節點和多個所述第二邊緣計算節點驗證所述第二創世區塊;當確定驗證所述第二創世區塊成功時,將所述第二創世區塊作為所述至少一條區塊鏈側鏈的鏈頭,並控制所述共用邊緣計算節點和多個所述第二邊緣計算節點繼續生成區塊。
- 如請求項1所述的區塊鏈構建方法,其中,所述判斷所述至少一條區塊鏈側鏈是否滿足預設條件包括:獲取所述至少一條區塊鏈側鏈產生的區塊的總數量;判斷所述總數量是否等於預設數量閾值;當所述總數量等於所述預設數量閾值時,確定所述至少一條區塊鏈側鏈滿足所述預設條件;或當所述總數量小於所述預設數量閾值,確定所述至少一條區塊鏈側鏈不滿足所述預設條件。
- 如請求項1所述的區塊鏈構建方法,其中,所述區塊鏈構建方法還包括:接收使用者終端在第一位置的第一交易請求,確定距離所述第一位置最近的第一目標邊緣計算節點;將所述第一交易請求分配給所述第一目標邊緣計算節點所在的第一區塊鏈側鏈中,並透過所述第一區塊鏈側鏈驗證所述第一交易請求的有效性並生成第一交易區塊; 將所述第一交易區塊上傳到所述第一區塊鏈側鏈中。
- 如請求項5所述的區塊鏈構建方法,其中,在所述生成第一交易區塊之後,所述區塊鏈構建方法還包括:接收所述使用者終端在第二位置的第二交易請求,確定距離所述第二位置最近的第二目標邊緣計算節點;將所述第二交易請求分配給所述第二目標邊緣計算節點所在的第二區塊鏈側鏈;判斷所述第一區塊鏈側鏈與所述第二區塊鏈側鏈是否有共同的邊緣計算節點;當確定所述第一區塊鏈側鏈與所述第二區塊鏈側鏈有共同的邊緣計算節點時,透過所述共同的邊緣計算節點獲取所述第一交易區塊;根據所述第一交易區塊生成第二交易區塊,並將所述第二交易區塊上傳到所述第二區塊鏈側鏈中。
- 一種電腦設備,其中,所述電腦設備包括儲存器和處理器,所述儲存器上儲存有可在所述處理器上運行的電腦程式,所述電腦程式被所述處理器執行時實現如請求項1至6中任一項所述區塊鏈構建方法。
- 一種區塊鏈構建裝置,其中,應用於分散式系統中,所述分散式系統包括雲端中心及多個邊緣計算節點,所述區塊鏈構建裝置包括:第一構建單元,獲取各個所述邊緣計算節點與所述雲端中心的距離值,將距離值小於或等於預設第一距離閾值的邊緣計算節點確定為多個第一邊緣計算節點,並基於所述雲端中心和所述多個第一邊緣計算節點構建一條區塊鏈主鏈;第二構建單元,從所述多個第一邊緣計算節點中選取至少一個第一邊緣計算節點作為共用邊緣計算節點,並獲取預設節點數量閾值,以所述共用邊緣計算節點為當前節點查找當前節點的鄰近節點,將所述當前節點和所述當前節點的鄰近節點確定為第二邊緣計算節點;將所述當前節點的鄰近節點確定為當前 節點,反覆運算查找所述當前節點的鄰近節點,將所述當前節點的鄰近節點確定為所述第二邊緣計算節點,當所述第二邊緣計算節點的數量等於所述預設節點數量閾值時,停止反覆運算,基於所述共用邊緣計算節點及多個所述第二邊緣計算節點構建至少一條區塊鏈側鏈;寫入單元,將所述至少一條區塊鏈側鏈產生的區塊寫入所述區塊鏈主鏈中,包括:判斷所述至少一條區塊鏈側鏈是否滿足預設條件;當所述至少一條區塊鏈側鏈滿足所述預設條件時,獲取所述至少一條區塊鏈側鏈的最後一個區塊的第一雜湊值,獲取所述區塊鏈主鏈的最後一個區塊的第二雜湊值;控制所述雲端中心和所述多個第一邊緣計算節點在所述區塊鏈主鏈新生成一個目標區塊,將所述第一雜湊值和所述第二雜湊值寫入所述目標區塊,使所述目標區塊的雜湊值等於所述第一雜湊值與所述第二雜湊值的合併值。
- 一種儲存媒體,其中,所述儲存媒體上儲存有電腦程式,所述電腦程式被處理器執行時實現如請求項1至6中任一項所述的區塊鏈構建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109146562A TWI794713B (zh) | 2020-12-28 | 2020-12-28 | 區塊鏈構建方法及相關設備 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109146562A TWI794713B (zh) | 2020-12-28 | 2020-12-28 | 區塊鏈構建方法及相關設備 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202225998A TW202225998A (zh) | 2022-07-01 |
TWI794713B true TWI794713B (zh) | 2023-03-01 |
Family
ID=83437052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109146562A TWI794713B (zh) | 2020-12-28 | 2020-12-28 | 區塊鏈構建方法及相關設備 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI794713B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260924A (zh) * | 2020-02-10 | 2020-06-09 | 北京中交国通智能交通***技术有限公司 | 适应边缘计算的交通智能管控与服务发布策略方法 |
CN111447177A (zh) * | 2020-03-02 | 2020-07-24 | 西北工业大学 | 一种基于区块链的车联网信任管理方法 |
-
2020
- 2020-12-28 TW TW109146562A patent/TWI794713B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260924A (zh) * | 2020-02-10 | 2020-06-09 | 北京中交国通智能交通***技术有限公司 | 适应边缘计算的交通智能管控与服务发布策略方法 |
CN111447177A (zh) * | 2020-03-02 | 2020-07-24 | 西北工业大学 | 一种基于区块链的车联网信任管理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202225998A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210288961A1 (en) | Identifying accounts having shared credentials | |
US10445373B2 (en) | Social where next suggestion | |
CN111414373B (zh) | 一种共识方法和共识*** | |
WO2019144553A1 (zh) | 数据存储方法、装置及存储介质 | |
US9846650B2 (en) | Tail response time reduction method for SSD | |
WO2016067424A1 (ja) | 分散システム、計算機、及び、仮想マシンの配置方法 | |
CN113408746A (zh) | 一种基于区块链的分布式联邦学习方法、装置及终端设备 | |
CN110060064A (zh) | 一种交易信息验证方法及相关装置 | |
AU2016225864A1 (en) | Local server for synced online content management system | |
JP2015001828A (ja) | 割当プログラム、割当装置および割当方法 | |
CN105159841B (zh) | 一种内存迁移方法及装置 | |
CN102884516A (zh) | 文件***迁移 | |
TWI645330B (zh) | 固態硬碟存取方法以及使用該方法的裝置 | |
WO2020181696A1 (zh) | 一种网络带宽评测方法、装置、***以及存储介质 | |
US20130326259A1 (en) | System and method for multiple backplane time synchronization | |
CN111290907A (zh) | 分布式存储网络压测方法及装置、计算机装置及存储介质 | |
CN109697035B (zh) | 级联设备的地址数据的写入方法、写入设备及存储介质 | |
CN108965450B (zh) | 业务请求响应方法、装置、计算机设备和存储介质 | |
WO2021108978A1 (zh) | 验证人节点选择方法、电子设备、***及介质 | |
CN107301151B (zh) | 一种主板以及服务器 | |
TWI794713B (zh) | 區塊鏈構建方法及相關設備 | |
CN111142799A (zh) | 分布式存储方法及装置、网络节点及存储介质 | |
CN104506636B (zh) | 一种数据同步方法及装置 | |
CN109947667B (zh) | 数据访问预测方法和装置 | |
CN113434122A (zh) | 多角色页面创建方法、装置、服务器及可读存储介质 |