TWI759638B - 操作請求分配方法、裝置及設備 - Google Patents
操作請求分配方法、裝置及設備 Download PDFInfo
- Publication number
- TWI759638B TWI759638B TW108136612A TW108136612A TWI759638B TW I759638 B TWI759638 B TW I759638B TW 108136612 A TW108136612 A TW 108136612A TW 108136612 A TW108136612 A TW 108136612A TW I759638 B TWI759638 B TW I759638B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- system pressure
- preset value
- target connection
- user
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本說明書實施例揭示了一種操作請求分配方法、裝置及設備。方案包括:伺服器獲取客戶端發送的針對區塊鏈的操作請求;獲取登錄所述客戶端的用戶的屬性資訊;根據所述屬性資訊確定所述用戶選擇的節點條件;根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點;將所述操作請求分配至所述目標連結節點。
Description
本發明係有關電腦技術領域,尤其有關一種操作請求分配方法、裝置及設備。
現有技術中,聯盟鏈是只針對某個特定群體成員和有限的第三方,其內部制定多個預選節點為記帳人,每個區塊的產生由所有的預選節點共同決定。在實施聯盟鏈的方案中,企業通常是透過前端應用來對外提供區塊鏈服務,在傳統的軟體開發套件中,只為前端應用提供單節點連結,不能對用戶請求進行分流,不能滿足用戶對信任多樣性的需求。
有鑑於此,本發明實施例提供了一種操作請求分配方法、裝置及設備,用於滿足用戶對信任多樣性的需求。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種操作請求分配方法,包括:
伺服器獲取客戶端發送的針對區塊鏈的操作請求;
獲取登錄所述客戶端的用戶的屬性資訊;
根據所述屬性資訊確定所述用戶選擇的節點條件;
根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點;
將所述操作請求分配至所述目標連結節點。
本說明書實施例提供的一種操作請求分配裝置,包括:
操作請求獲取模組,用於伺服器獲取客戶端發送的針對區塊鏈的操作請求;
屬性資訊獲取模組,用於獲取登錄所述客戶端的用戶的屬性資訊;
節點條件確定模組,用於根據所述屬性資訊確定所述用戶選擇的節點條件;
目標連結節點確定模組,用於根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點;
操作請求分配模組,用於將所述操作請求分配至所述目標連結節點。
本說明書實施例提供的一種操作請求分配設備,包括:
至少一個處理器;以及
與所述至少一個處理器通訊連接的記憶體,其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:伺服器獲取客戶端發送的針對區塊鏈的操作請求;獲取登錄所述客戶端的用戶的屬性資訊;根據所述屬性資訊確定所述用戶選擇的節點條件;根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點;將所述操作請求分配至所述目標連結節點。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:本說明書實施例透過獲取用戶的屬性資訊確定用戶選擇的節點條件,然後根據節點條件確定用戶請求的目標連結節點,充分考慮了用戶對節點的認知不同導致的用戶對不同節點的信任程度不同的情況,對不同用戶的請求採取不同的路由策略,滿足了用戶對信任多樣性的需求。
為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明具體實施例及相應的圖式對本發明技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
以下結合圖式,詳細說明本發明各實施例提供的技術方案。
在實施聯盟鏈的方案中,企業通常是透過前端應用來對外提供區塊鏈服務,一個前端應用需要滿足大量用戶的需求,不同的用戶對聯盟鏈中的節點的認知不同,導致不同用戶對不同的節點的信任程度也不同,因此,不同的用戶選擇相信不同的節點作為應用提供服務的連結節點,假如說有一個跨國的聯盟鏈,那麼用戶通常會選擇本國運行的節點作為應用的連結節點,但是用戶使用的功能是透過同一個前端應用提供的,因此,提供的區塊鏈前端應用應該具備區塊鏈多節點併發切換的用戶分流的方式。
但是,由於區塊鏈是一串使用密碼學方法相關聯產生的資料區塊,而Java等語言對密碼學的支援程度的不同,通常採用依賴系統本地庫來實現,採用橢圓曲線乘積(密碼學)的類庫比較少,支援多Session連接的庫也比較少,因此,現有技術只能實現一對一的長連結,不能支援一對多的長連結。
本說明書實施例對底層的加密學空間和網路空間進行結合開發:在Java中把加密控制項和網路控制項透過JNI(Java Native Interface)的方式進行整合,並且對底層鏈路進行管理,封裝成多鏈路的可複用的Session(會話控制),然後透過軟體開發套件(Software Development Kit,SDK)的方式提供給客戶端應用來使用,從而實現一個節點對多個節點的長連結,從而令區塊鏈前端應用具備區塊鏈多節點併發切換的用戶分流的方式。
圖1為本說明書實施例提供的一種操作請求分配方法的流程示意圖。從程式角度而言,流程的執行主體可以為搭載於應用伺服器的程式或應用客戶端。
如圖1所示,該流程可以包括以下步驟:
S101:伺服器獲取客戶端發送的針對區塊鏈的操作請求。
區塊鏈技術是利用塊鏈式資料結構來驗證與儲存資料、利用分散式節點共識演算法來產生和更新資料、利用密碼學的方式保證資料傳輸和存取的安全、利用由自動化腳本碼組成的智慧型合約來編程和操作資料的一種全新的分散式基礎架構與計算方式。
一般說來,區塊鏈系統由資料層、網路層、共識層、激勵層、合約層和應用層組成。其中,資料層封裝了底層資料區塊以及相關的資料加密和時間戳記等基礎資料和基本演算法;網路層則包括分散式組網機制、資料傳播機制和資料驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素整合到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智慧型合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基於時間戳記的鏈式區塊結構、分散式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智慧型合約是區塊鏈技術最具代表性的創新點。
在實施聯盟鏈的方案中,企業通常是透過前端應用來對外提供區塊鏈服務,一個前端應用需要滿足大量用戶的需求。用戶需要透過前端應用提供的節點來存取區塊鏈的資料資訊。
用戶的操作請求通常包括:針對區塊鏈的讀操作、寫操作和共識操作,本發明實施例中主要針對的是讀操作。
不同的用戶對聯盟鏈中的節點的認知不同,導致不同用戶對不同的節點的信任程度也不同,因此,不同的用戶選擇相信不同的節點作為應用提供服務的連結節點。
S102:獲取登錄所述客戶端的用戶的屬性資訊。
在本說明書實施例中,所述用戶的屬性資訊可以包括固有屬性資訊和動態屬性資訊。固有屬性資訊可以包括:所述用戶的登錄位址資訊、國籍資訊、性別資訊和所屬機構資訊。動態屬性資訊可以包括:用戶上次選擇的連結節點,用戶最常用的連結節點和用戶自動選擇的連結節點。
用戶可以在客戶端登錄方式即可以是網頁登錄,也可以是APP上登錄。
不同用戶的屬性資訊可以相同,也可以不相同,這與用戶的各異性以及習慣有很大的關係。具體獲取哪些屬性資訊可以根據實際情況進行靈活確定。
S103:根據所述屬性資訊確定所述用戶選擇的節點條件。
在本說明書實施例中,當獲取了用戶的屬性資訊以後,需要根據所述屬性資訊確定用戶選擇的節點條件,所述節點條件表示所述用戶選擇連結節點的需求。
例如,需要存取的是一個跨國的區塊鏈,用戶通常會選擇本國運行的節點作為應用的連結節點,那麼根據用戶的國籍就可以確定用戶選擇的節點條件,用戶的國籍是中國,那麼節點條件可以是:選擇組織機構在中國的節點作為連結節點。用戶的國籍是法國,那麼對應的節點條件是:選擇組織機構在法國的節點作為連結節點。另外,用戶的國籍是法國,但是用戶的登錄位址資訊是中國,那麼用戶可以選擇註冊機構在中國的節點進行連結,此時,節點條件為:選擇組織機構在中國的節點作為連結節點。
例如,需要存取的是一個跨領域的區塊鏈,用戶通常會比較信任本領域的節點。如果,用戶的註冊資訊為金融行業,那麼節點條件可以是:選擇金融機構的節點作為連結節點,用戶的註冊資訊為教育行業,那麼節點條件可以是:選擇教育機構的節點作為連結節點。
例如,用戶A在多次存取一個區塊鏈時均採用的是節點1,那麼可以說明用戶A對節點1非常信任,那麼節點條件可以確定為:選擇節點1作為連結節點。
上述例子中,節點條件均為一個,當然,在其它場景中,節點條件也可以為多個,而且多個條件之間還可以設定優先順序,哪些條件是必須滿足的,哪些條件是非必須滿足的,還可以對每個條件設定不同的係數。這些可以根據用戶和節點的多樣性進行具體的設定,這裡並不做具體的限定。
S104:根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點。
長連結是透過通訊端與某個伺服器保持持續連結的一種連結方式。長連接多用於操作頻繁,點對點的通訊,而且連接數不能太多情況。每個傳輸控制協定(TCP)連接都需要三步交握,這需要時間,如果每個操作都是短連接,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,下次處理時直接發送資料包就OK了,不用建立TCP連接。
通訊端:TCP用主機的IP位址加上主機上的埠號作為TCP連結點端點。
在本說明書實施例中,與所述伺服器保持長連結的節點是已知的,當根據用戶的屬性資訊確定了節點條件之後,則需要與所述節點集合中各個節點進行比較,選擇與所述節點條件最相符合的節點,作為目標連結節點。
例如,當節點條件為:選擇組織機構在中國的節點作為連結節點,如果節點集合中只存在一個註冊機構在中國的節點1,那麼直接確定節點1為目標連結節點。
例如,當節點條件是:選擇金融機構、註冊地點在中國的節點作為連結節點,如果節點集合中存在:節點1,法國銀行(註冊地點在法國);節點2,中國銀行(註冊地點在中國)。那麼確定節點2為目標連結節點。
需要指出的是,應用前端可以有多個,節點也可以有多個,應用前端與節點是分別組合的,可以一對多,也可以多對多,不同的應用前端對應的節點可以相同,也可以不同。
S105:將所述操作請求分配至所述目標連結節點。
在本說明書實施例中,伺服器將所述操作請求分配至用戶相對信任的節點,對區塊鏈進行讀操作或者寫操作,滿足了用戶需求的多樣性。
圖1中的方法,透過獲取用戶的屬性資訊確定用戶選擇的節點條件,然後根據節點條件確定用戶請求的目標連結節點,充分考慮了用戶對節點的認知不同導致的用戶對不同節點的信任程度不同的情況,對不同用戶的操作請求採取不同的路由策略,滿足了用戶對信任多樣性的需求。
圖2為應用了本說明書實施例中操作請求分配方法的示意圖,如圖2所示,一個聯盟鏈包括:節點1、節點2、節點3和節點4。
用戶選擇場景:
1、用戶1登錄,發送操作請求1,前端應用根據用戶的喜好連結區塊鏈節點1來發送請求1。
2、用戶2登錄,發送操作請求2,前端應用根據用戶的喜好連結區塊鏈節點2來發送請求2。
3、用戶3登錄,發送操作請求3,前端應用根據用戶的喜好連結區塊鏈節點3來發送請求3。
上述的用戶的喜好連結區塊鏈節點可以根據用戶的固有屬性來實現,也可以根據用戶的自動選擇來實現,實現方式有很多種。
基於圖1的方法,本說明書實施例還提供了該方法的一些具體實施方式,下面進行說明。
可選地,所述根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點,具體包括:
獲取與所述伺服器保持長連結的節點集合中各節點的屬性資訊;
將各節點的屬性資訊與所述節點條件進行匹配,確定與所述節點條件相似度最高的第一節點;
根據所述第一節點確定所述目標連結節點。
在本說明書實施例中,提供了一種具體的場景,透過根據用戶的屬性資訊確定的節點條件,與節點集合中的各節點進行匹配操作。每個節點也有各自的屬性資訊,如組織名稱、總部位置、穩定性、伺服器配置和預算等。提取每個節點的屬性資訊與節點條件進行對比,得到相似度。
例如,節點條件包括:條件1、條件2和條件3,所占比例係數分別為0.5、0.3和0.2。節點集合包括:節點A、節點B和節點C。
第一種情況:節點A滿足條件1和條件3,則相似度為0.7,節點B滿足條件2和3,則相似度為0.5,節點C一個條件都不滿足,則相似度為0。那麼可以確定節點A為與所述節點條件相似度最高的節點,則確定節點A為目標連結節點。
第二種情況:節點A滿足條件1,則相似度為0.5,節點B滿足條件2和3,則相似度為0.5,節點C滿足條件3,則相似度為0.2。此時,節點A和節點B的相似度均為0.5,可以隨時選擇節點A或者節點B作為目標連結節點,此外,也可以判斷節點A和節點B其他的條件,如系統壓力的大小,優先選擇系統壓力小的節點作為目標連結節點,從而均衡各節點的系統壓力。當然,還有其他的判斷條件,這裡不再列舉。
可選地,所述獲取登錄所述客戶端的用戶的屬性資訊,具體包括:
將所述與所述伺服器保持長連結的節點集合中包括的多個節點呈現給所述用戶;
獲取所述用戶選取的第一節點;
所述根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點,具體包括:
根據所述第一節點確定所述目標連結節點。
在本說明書實施例中,還提供了另外一種確定目標連結節點的實施方式。由於與伺服器保持長連結的節點是已知的,伺服器可以將上述節點按照清單的方式發送給客戶端,客戶端接收到上述節點資訊以後,顯示在客戶端的顯示介面上,在顯示節點的同時,還會顯示節點的屬性資訊,用戶可以根據自身的情況或者喜好,從所述節點集合中選擇最符合用戶要求的第一節點發送給伺服器,在沒有其他特殊的情況先,伺服器會將用戶選擇的第一節點作為用戶請求的目標連結節點。
可選地,所述根據所述第一節點確定所述目標連結節點,具體包括:
判斷所述第一節點的系統壓力是否超過預設值,得到第一判斷結果;
當所述第一判斷結果表示所述連結節點的系統壓力未超過所述預設值時,確定所述第一節點為所述目標連結節點;
當所述第一判斷結果表示所述連結節點的系統壓力超過所述預設值時,確定第二節點為目標連結節點,所述第二節點的系統壓力小於所述預設值。
在本說明書實施例中,如果選擇同一個節點作為目標連結節點的用戶請求特別多,而其它節點被選擇的次數很少,如果在這種情況下,依然將用戶請求源源不斷分配給該節點,受硬體設備的影響,該節點的處理速度會下降,甚至會處於崩潰狀態。基於上述原因,本方法除了關注用戶的多樣性需求,還考慮了每個節點處理用戶請求的壓力,採用均衡措施對壓力進行水平伸縮。
通常情況下,需要判斷一個節點的系統壓力是否達到了上限值,如果達到了上限值,則需要將操作請求分配給其他節點。節點的系統壓力通常與節點的伺服器的配置有關,比如:處理器、記憶體、硬碟品質和I/O頻寬。表示系統壓力的參數有很多,比如輸送量(Throughput)和回應時間(RT)。本實施例說明書選擇輸送量和回應時間進行說明,但是並不能理解為對請求項的具體限定。
輸送量是指對網路、設備、埠、虛擬電路或其他設施,單位時間內成功地傳送資料的數量(以比特、位元組、分組等測量)。通常情況下,一個節點的輸送量都在幾萬、幾十萬每秒事務處理量(TPS)甚至更高,如果一個節點的輸送量是幾千TPS,那麼就說明這個節點的系統壓力超過了正常情況,不能正常處理用戶的請求,因此,需要將該節點的用戶請求分給其他的節點。
回應時間是指系統對請求作出回應的時間,它完整地記錄了整個電腦系統處理請求的時間。系統回應時間包括兩個方面:時間長度和時間的易變性。用戶回應時間應該適中,系統回應時間過長,用戶就會感到不安和沮喪,而回應時間過短有時會造成用戶加快操作節奏,從而導致錯
誤。系統回應時間的易變性是指相對於平均回應時間的偏差。即使回應時間比較長,低的回應時間易變性也有助於用戶建立穩定的節奏。
在討論一個系統的回應時間時,人們通常是指該系統所有功能的平均時間或者所有功能的最大回應時間。當然,往往也需要對每個或每組功能討論其平均回應時間和最大回應時間。在本說明書實施例中,節點的回應時間是指節點共識落塊的回饋時間,即從用戶發出請求,前端應用獲取並轉發用戶請求到相應的連接節點,以及連接節點在區塊鏈中落塊的總時間。通常來說,這個過程一般在幾百毫秒左右,回應時間小於100毫秒表示節點處於十分優良的狀態;回應時間在1秒左右表示節點的系統壓力增大,性能開始下降;如果回應時間達到5秒就表示節點的系統壓力達到了上限,節點的性能降低了很多。如果,一個節點的回應時間超過5秒,就表示節點不能正常處理用戶的請求,就需要將用戶請求分給其他的節點。
可選地,判斷所述第一節點的系統壓力是否超過預設值,具體可以包括:判斷所述第一節點的輸送量是否小於預設輸送量,和/或判斷所述第一節點的回應時間是否超過預設回應時間。
在本說明書實施例中,在判斷一個節點的系統壓力是否超過預設值時,如果選擇系統壓力表徵參數為輸送量,
則預設值可以設定為1萬TPS(不同場景下,預設值會有所不同),如果低於1萬TPS,則說明第一節點的系統壓力超過了正常值,此時,需要將用戶請求分流。
在本說明書實施例中,如果選擇系統壓力表徵參數為回應時間,則預設值可以設定為5秒(不同場景下,預設值會有所不同),如果第一節點的回應時間為3秒,則說明第一節點的系統壓力處於正常狀態,可以正常處理用戶請求。如果第一節點的回應時間為6秒,則說明第一節點的系統壓力比較大,需要將用戶請求分流。
在本說明書實施例中,系統壓力也可以同時選擇輸送量和回應時間,只有這兩個參數同時滿足一定的條件時,才說明節點的系統壓力超過了正常範圍。如,輸送量低於8千TPS,且回應時間超過3秒,只有這兩個條件同時滿足才可以。
可選地,判斷所述節點集合中是否存在系統壓力小於所述預設值的節點,得到第二判斷結果;當所述第二判斷結果表示所述節點集合中存在系統壓力小於所述預設值的節點時,確定所述第二節點的數量,所述第二節點為所述節點集合中系統壓力小於所述預設值的節點;當所述第二節點的數量為一個時,將所述第二節點確定為所述目標連結節點;當所述第二節點的數量為多個時,確定各所述第二節點的屬性資訊與所述節點條件的相似度;
將與所述節點條件相似度最高的第二節點確定為所述目標連結節點。
在本說明書實施例中,當第一節點的系統壓力超過正常值需要對用戶請求進行分流時,首先需要從與伺服器保持長連結的節點集合中選擇合適的節點作為目標連結節點。選擇的條件是:系統壓力小於所述預設值,如果集合中存在這樣的節點(第二節點),而且這樣的節點只有一個,那麼可以直接將該節點確定為目標連結節點。
在本說明書實施例中,如果滿足條件的第二節點有多個,如節點A,節點B和節點C。可以根據不同的方案選擇其中一個作為目標連結節點。可以採用如下方案:
方案一:隨機分配,即不參考其他的條件,由伺服器隨機進行分配。
方案二:根據各第二節點與用戶請求的節點條件來進一步篩選。具體方法為:確定節點A、節點B和節點C的屬性資訊與所述節點條件的相似度,如,節點A的相似度為0.1,節點B的相似度為0.3,節點C的相似度為0.25。由於節點B的相似度最高,相對來說更符合用戶的要求,則可以選擇節點B作為目標連結節點。
方案三:根據各第二節點的具體系統壓力的大小來進一步篩選。具體方法為:確定節點A、節點B和節點C的系統壓力,以回應時間為例,分別為:100ms、200ms、300ms,由於節點A的回應時間更快,則可以選擇節點A作為目標連結節點。
可選地,當所述第二判斷結果表示所述節點集合中不存在系統壓力小於所述預設值的節點時,獲取候選節點的伺服器配置參數;當所述伺服器配置參數符合預設條件時,採用區塊鏈的共識機制對所述候選節點進行身份驗證;當所述候選節點的身份驗證成功時,將所述候選節點加入到所述區塊鏈中;設置所述候選節點與所述伺服器的長連結。
在本說明書實施例中,如果節點集合中所有節點的系統壓力都超過了預設值,則說明區塊鏈中每個節點的壓力都很多,處理速度十分緩慢,此時需要增加新的節點來分擔整個區塊鏈的壓力,新增加的節點是之前不存在於區塊鏈中的。
當伺服器連結的所有的節點的系統壓力都超過預設值時,則需要增加新的節點來處理用戶的請求。對於增加的節點,也是需要滿足一定的條件的。比如硬體條件和身份驗證,其中,硬體條件是成為一個節點的非常重要的一點,只有伺服器的配置能夠達到一定的水平才能承擔節點作為用戶請求接入的任務。一個節點的硬體設定通常至少可以為:4核處理器、8G記憶體、10M頻寬和100G固態硬碟,當然,針對不同的區塊鏈,由於節點處理的操作不同,硬體設定也會有所不同。除此之外,所有候選節點或者組織應向社區提供以下資訊,資訊可以發布於官網的投票檢測頁面裡,並發布在組織官網上。(以下列表僅供參
考):公共網站、社交帳號、聯繫方式(郵箱,Discord帳號等)、組織名稱、總部位置、伺服器類型、伺服器配置團隊名單及2/3的團隊成員圖片及背景、技術方案(安全,維護,長期穩定性,容災備份)、維護人員以及預算、硬體擴容計畫等等。當硬體設備符合要求以後,還需要區塊鏈中的所有共識節點對候選節點進行投票,當大部分共識節點都認為該候選節點可以成為節點時,即達到一致,則證明該候選節點可以成為區塊鏈的節點。當該節點加入區塊鏈以後,設置與前端應用的伺服器的長連結,即將該節點(第二節點)加入到與伺服器保持長連結的節點集合中去,此時,伺服器就可以將用戶請求分配給第二節點,從而在用戶請求量多的時候,做到分片和水平伸縮。
基於同樣的思路,本說明書實施例還提供了上述方法對應的裝置。圖3為本說明書實施例提供的對應於圖1的一種操作請求分配裝置的結構示意圖。如圖3所示,該裝置可以包括:操作請求獲取模組301,用於伺服器獲取客戶端發送的針對區塊鏈的操作請求;屬性資訊獲取模組302,用於獲取登錄所述客戶端的用戶的屬性資訊;節點條件確定模組303,用於根據所述屬性資訊確定所述用戶選擇的節點條件;目標連結節點確定模組304,用於根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點;
操作請求分配模組305,用於將所述操作請求分配至所述目標連結節點。
可選地,所述屬性資訊獲取模組302,具體用於獲取登錄所述客戶端的所述用戶的登錄位址資訊、國籍資訊、性別資訊、所屬機構資訊、上次的連結節點、最常用的連結節點和自動選擇的連結節點中的至少一種。
可選地,所述目標連結節點確定模組304,具體包括:
屬性資訊獲取子模組,用於獲取與所述伺服器保持長連結的節點集合中各節點的屬性資訊;
第一節點確定子模組,用於將各節點的屬性資訊與所述節點條件進行匹配,確定與所述節點條件相似度最高的第一節點;
目標連結節點確定子模組,用於根據所述第一節點確定所述目標連結節點。
可選地,所述屬性資訊獲取模組302,具體包括:
節點呈現子模組,用於將所述與所述伺服器保持長連結的節點集合中包括的多個節點呈現給所述用戶;
第一節點獲取子模組,用於獲取所述用戶選取的第一節點;
所述目標連結節點確定模組304,具體包括:
目標連結節點確定子模組,用於根據所述第一節點確定所述目標連結節點。
可選地,所述目標連結節點確定子模組,具體包括:
第一結果判斷單元,用於判斷所述第一節點的系統壓力是否超過預設值,得到第一判斷結果;
第一目標連結節點確定單元,用於當所述第一判斷結果表示所述連結節點的系統壓力未超過所述預設值時,確定所述第一節點為所述目標連結節點;
第二目標連結節點確定單元,用於當所述第一判斷結果表示所述連結節點的系統壓力超過所述預設值時,確定第二節點為目標連結節點,所述第二節點的系統壓力小於所述預設值。
可選地,所述第一結果判斷單元,具體用於判斷所述第一節點的輸送量是否小於預設輸送量,和/或判斷所述第一節點的回應時間是否超過預設回應時間。
可選地,所述第二目標連結節點確定單元,具體包括:
第二結果判斷子單元,用於判斷所述節點集合中是否存在系統壓力小於所述預設值的節點,得到第二判斷結果;
伺服器配置參數獲取子單元,用於當所述第二判斷結果表示所述節點集合中不存在系統壓力小於所述預設值的節點時,獲取候選節點的伺服器配置參數;
身份驗證子單元,用於當所述伺服器配置參數符合預設條件時,採用區塊鏈的共識機制對所述候選節點進行身份驗證;
候選節點加入子單元,用於當所述候選節點的身份驗證成功時,將所述候選節點加入到所述區塊鏈中;
長連結設置子單元,用於設置所述候選節點與所述伺服器的長連結。
可選地,所述第二目標連結節點確定單元,還包括:
第二節點數量確定子單元,用於當所述第二判斷結果表示所述節點集合中存在系統壓力小於所述預設值的節點時,確定所述第二節點的數量,所述第二節點為所述節點集合中的系統壓力小於所述預設值的節點;
第一目標連結節點確定子單元,用於當所述第二節點的數量為一個時,將所述第二節點確定為所述目標連結節點;
相似度獲取子單元,用於當所述第二節點的數量為多個時,確定各所述第二節點的屬性資訊與所述節點條件的相似度;
第二目標連結節點確定子單元,用於將與所述節點條件相似度最高的第二節點確定為所述目標連結節點。
基於同樣的思路,本說明書實施例還提供了上述方法對應的設備。
圖4為本說明書實施例提供的對應於圖1的一種操作請求分配設備的結構示意圖。如圖4所示,設備400可以包括:
至少一個處理器410;以及
與所述至少一個處理器通訊連接的記憶體430,其中,
所述記憶體430儲存有可被所述至少一個處理器410執行的指令420,所述指令被所述至少一個處理器410執行,以使所述至少一個處理器410能夠:
伺服器獲取客戶端發送的針對區塊鏈的操作請求;
獲取登錄所述客戶端的用戶的屬性資訊;
根據所述屬性資訊確定所述用戶選擇的節點條件;
根據所述節點條件,從與所述伺服器保持長連結的節點集合中確定目標連結節點;
將所述操作請求分配至所述目標連結節點。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程編程到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可編程邏輯裝置(Programmable Logic Device, PLD)(例如,現場可編程閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對裝置編程來確定。由設計人員自行編程來把一個數位系統“整合”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始碼也得用特定的編程語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯編程並編程到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式來實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如,軟體或韌體)的電腦可讀媒體、邏輯閘、開關、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入式微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯編程來使得控制器以邏輯閘、開關、特殊應用積體電路、可編程邏輯控制器和嵌入式微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體地,電腦例如可以為個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本發明時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體態樣的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一個流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可編程資料處理設備的處理器以產生一個機器,使得透過電腦或其他可編程資料處理設備的處理器執行的指令產生用於實現在流程圖中的一個流程或多個流程和/或方塊圖中的一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可被儲存在能引導電腦或其他可編程資料處理設備以特定方式操作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖中的一個流程或多個流程和/或方塊圖中的一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可被裝載到電腦或其他可編程資料處理設備上,使得在電腦或其他可編程設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可編程設備上執行的指令提供用於實現在流程圖中的一個流程或多個流程和/或方塊圖中的一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動式媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可編程唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存器、磁盒式磁帶,磁帶磁磁碟儲存器或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫態性電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本發明可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、組件、資料結構等等。也可以在分散式計算環境中實踐本發明,在這些分散式計算環境中,由透過通訊網路而被連接的遠端處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用漸進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發明的實施例而已,並不用來限制本發明。對於本領域技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發明的申請專利範圍的範疇之內。
S101:方法步驟
S102:方法步驟
S103:方法步驟
S104:方法步驟
S105:方法步驟
301:操作請求獲取模組
302:屬性資訊獲取模組
303:節點條件確定模組
304:目標連結節點確定模組
305:操作請求分配模組
400:操作請求分配設備
410:處理器
420:指令
430:記憶體
此處所說明的圖式用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用來解釋本發明,並不構成對本發明的不當限定。在圖式中:[圖1]為本說明書實施例提供的一種操作請求分配方法的流程示意圖;[圖2]為應用了本說明書實施例中操作請求分配方法
的示意圖;[圖3]為本說明書實施例提供的對應於圖1的一種操作請求分配裝置的結構示意圖;[圖4]為本說明書實施例提供的對應於圖1的一種操作請求分配設備的結構示意圖。
Claims (13)
- 一種操作請求分配方法,包括:伺服器獲取客戶端發送的針對區塊鏈的操作請求以進行與該區塊鏈相關聯的操作;獲取登錄該客戶端的用戶的屬性資訊,具體包括:將節點集合中包括的多個節點呈現給該用戶;以及獲取該多個節點中由該用戶選擇的第一節點;根據該屬性資訊確定由該用戶選擇的節點條件;根據該節點條件和該確定的節點,從與該伺服器保持長連結的該節點集合中確定目標連結節點,具體包括:判斷該第一節點的系統壓力是否超過預設值,得到第一判斷結果;當該第一判斷結果表示該連結節點的系統壓力未超過該預設值時,確定該第一節點為該目標連結節點;以及當該第一判斷結果表示該連結節點的系統壓力超過該預設值時,確定第二節點為該目標連結節點,其中,該第二節點的系統壓力小於該預設值;以及當確定該第二節點不在該節點集合中時,當確定已經達到將該第二節點加入到該區塊鏈的共識時,設定該第二節點與該伺服器之間的長連結;以及將該操作請求分配至該目標連結節點以進行與該區塊鏈相關聯的該操作。
- 如請求項1所述的方法,該獲取登錄該客戶端的用戶的屬性資訊,具體包括:獲取登錄該客戶端的該用戶的登錄位址資訊、國籍資訊、性別資訊、所屬機構資訊、上次的連結節點、最常用的連結節點和自動選擇的連結節點中的至少一者。
- 如請求項1所述的方法,該根據該節點條件,從與該伺服器保持長連結的節點集合中確定目標連結節點,具體包括:獲取與該伺服器保持長連結的節點集合中各節點的屬性資訊;將各節點的屬性資訊與該節點條件進行匹配,確定與該節點條件相似度最高的第一節點;以及根據該第一節點確定該目標連結節點。
- 如請求項1所述的方法,該判斷該第一節點的系統壓力是否超過預設值,具體包括:判斷該第一節點的輸送量是否小於預設輸送量,和/或判斷該第一節點的回應時間是否超過預設回應時間。
- 如請求項1所述的方法,該確定第二節點為目標連結節點,具體包括:判斷該節點集合中是否存在系統壓力小於該預設值的節點,得到第二判斷結果;當該第二判斷結果表示該節點集合中不存在系統壓力小於該預設值的節點時,獲取候選節點的伺服器配置參 數;當該伺服器配置參數符合預設條件時,採用區塊鏈的共識機制對該候選節點進行身份驗證;當該候選節點的身份驗證成功時,將該候選節點加入到該區塊鏈中;以及設置該候選節點與該伺服器的長連結。
- 如請求項5所述的方法,該判斷該節點集合中是否存在系統壓力小於該預設值的節點,得到第二判斷結果之後,還包括:當該第二判斷結果表示該節點集合中存在系統壓力小於該預設值的節點時,確定第二節點的數量,該第二節點為該節點集合中系統壓力小於該預設值的節點;當該第二節點的數量為一個時,將該第二節點確定為該目標連結節點;當該第二節點的數量為多個時,確定各該第二節點的屬性資訊與該節點條件的相似度;以及將與該節點條件相似度最高的第二節點確定為該目標連結節點。
- 一種操作請求分配裝置,包括:操作請求獲取模組,用於伺服器獲取客戶端發送的針對區塊鏈的操作請求以進行與該區塊鏈相關聯的操作;屬性資訊獲取模組,用於獲取登錄該客戶端的用戶的屬性資訊,具體包括:節點呈現子模組,用於將節點集合中包括的多個 節點呈現給該用戶;以及第一節點獲取子模組,用於獲取該多個節點中由該用戶選擇的第一節點;節點條件確定模組,用於根據該屬性資訊確定由該用戶選擇的節點條件;目標連結節點確定模組,用於根據該節點條件和該確定的節點,從與該伺服器保持長連結的該節點集合中確定目標連結節點,具體包括:第一結果判斷單元,用於判斷該第一節點的系統壓力是否超過預設值,得到第一判斷結果;第一目標連結節點確定單元,用於當該第一判斷結果表示該連結節點的系統壓力未超過該預設值時,確定該第一節點為該目標連結節點;以及第二目標連結節點確定單元,用於當該第一判斷結果表示該連結節點的系統壓力超過該預設值時,確定第二節點為該目標連結節點,其中,該第二節點的系統壓力小於該預設值;以及當確定該第二節點不在該節點集合中時,當確定已經達到將該第二節點加入到該區塊鏈的共識時,設定該第二節點與該伺服器之間的長連結;以及操作請求分配模組,用於將該操作請求分配至該目標連結節點以進行與該區塊鏈相關聯的該操作。
- 如請求項7所述的裝置,該屬性資訊獲取模組,具體用於獲取登錄該客戶端的該用戶的登錄位址資訊、國籍資訊、性別資訊、所屬機構資訊、上次的連結節 點、最常用的連結節點和自動選擇的連結節點中的至少一者。
- 如請求項7所述的裝置,該目標連結節點確定模組具體包括:屬性資訊獲取子模組,用於獲取與該伺服器保持長連結的節點集合中各節點的屬性資訊;第一節點確定子模組,用於將各節點的屬性資訊與該節點條件進行匹配,確定與該節點條件相似度最高的第一節點;以及目標連結節點確定子模組,用於根據該第一節點確定該目標連結節點。
- 如請求項7所述的裝置,該第一結果判斷單元具體用於判斷該第一節點的輸送量是否小於預設輸送量;和/或判斷該第一節點的回應時間是否超過預設回應時間。
- 如請求項7所述的裝置,該第二目標連結節點確定單元具體包括:第二結果判斷子單元,用於判斷該節點集合中是否存在系統壓力小於該預設值的節點,得到第二判斷結果;伺服器配置參數獲取子單元,用於當該第二判斷結果表示該節點集合中不存在系統壓力小於該預設值的節點時,獲取候選節點的伺服器配置參數;身份驗證子單元,用於當該伺服器配置參數符合預設條件時,採用區塊鏈的共識機制對該候選節點進行身份驗 證;候選節點加入子單元,用於當該候選節點的身份驗證成功時,將該候選節點加入到該區塊鏈中;以及長連結設置子單元,用於設置該候選節點與該伺服器的長連結。
- 如請求項11所述的裝置,該第二目標連結節點確定單元還包括:第二節點數量確定子單元,用於當該第二判斷結果表示該節點集合中存在系統壓力小於該預設值的節點時,確定該第二節點的數量,該第二節點為該節點集合中系統壓力小於該預設值的節點;第一目標連結節點確定子單元,用於當該第二節點的數量為一個時,將該第二節點確定為該目標連結節點;相似度獲取子單元,用於當該第二節點的數量為多個時,確定各該第二節點的屬性資訊與該節點條件的相似度;以及第二目標連結節點確定子單元,用於將與該節點條件相似度最高的第二節點確定為該目標連結節點。
- 一種操作請求分配設備,包括:至少一個處理器;以及與該至少一個處理器通訊連接的記憶體,其中,該記憶體儲存有可被該至少一個處理器執行的指令,該指令被該至少一個處理器執行,以使該至少一個處理器能夠執行該操作請求分配步驟: 伺服器獲取客戶端發送的針對區塊鏈的操作請求以進行與該區塊鏈相關聯的操作;獲取登錄該客戶端的用戶的屬性資訊,具體包括:將節點集合中包括的多個節點呈現給該用戶;以及獲取該多個節點中由該用戶選擇的第一節點;根據該屬性資訊確定由該用戶選擇的節點條件;根據該節點條件和該確定的節點,從與該伺服器保持長連結的節點集合中確定目標連結節點,具體包括:判斷該第一節點的系統壓力是否超過預設值,得到第一判斷結果;當該第一判斷結果表示該連結節點的系統壓力未超過該預設值時,確定該第一節點為該目標連結節點;以及當該第一判斷結果表示該連結節點的系統壓力超過該預設值時,確定第二節點為目標連結節點,其中,該第二節點的系統壓力小於該預設值;以及當確定該第二節點不在該節點集合中時,當確定已經達到將該第二節點加入到該區塊鏈的共識時,設定該第二節點與該伺服器之間的長連結;以及將該操作請求分配至該目標連結節點以進行與該區塊鏈相關聯的該操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811589917.4A CN110046036A (zh) | 2018-12-25 | 2018-12-25 | 一种操作请求分配方法、装置及设备 |
CN201811589917.4 | 2018-12-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202026966A TW202026966A (zh) | 2020-07-16 |
TWI759638B true TWI759638B (zh) | 2022-04-01 |
Family
ID=67274023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136612A TWI759638B (zh) | 2018-12-25 | 2019-10-09 | 操作請求分配方法、裝置及設備 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11212371B2 (zh) |
EP (1) | EP3812899B1 (zh) |
CN (1) | CN110046036A (zh) |
SG (1) | SG11202100490VA (zh) |
TW (1) | TWI759638B (zh) |
WO (1) | WO2020134698A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046036A (zh) | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种操作请求分配方法、装置及设备 |
CN110519353B (zh) * | 2019-08-16 | 2022-03-04 | 蚂蚁蓉信(成都)网络科技有限公司 | 一种服务请求的处理方法、装置以及设备 |
JP6852776B1 (ja) * | 2019-11-26 | 2021-03-31 | ダイキン工業株式会社 | ブロックチェーンシステム、プログラム及びネットワーク接続装置 |
CN111786952B (zh) * | 2020-05-29 | 2023-03-17 | 中国银联股份有限公司 | 区块链系统的共识方法、装置、设备及介质 |
US11763332B2 (en) * | 2020-11-16 | 2023-09-19 | Theta Labs, Inc. | Edge computing platform supported by smart contract enabled blockchain network |
CN114047980B (zh) * | 2021-11-29 | 2024-01-19 | 珠海格力电器股份有限公司 | 可编程控制器配置数据的管理系统 |
CN117009060B (zh) * | 2023-09-27 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 资源调度方法、装置、设备及存储介质 |
CN117714465A (zh) * | 2024-01-23 | 2024-03-15 | 深圳宏欣网络科技有限公司 | 通信网络节点的动态构建方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301408A (zh) * | 2014-10-13 | 2015-01-21 | 无锡云捷科技有限公司 | 一种基于补偿节点的cdn与p2p融合方法 |
CN105786592A (zh) * | 2014-12-15 | 2016-07-20 | 北大方正集团有限公司 | 一种分布式事务的处理方法及装置 |
TW201810148A (zh) * | 2016-09-02 | 2018-03-16 | 現代財富控股有限公司 | 區塊鏈負載平衡系統及其方法 |
CN107819829A (zh) * | 2017-10-17 | 2018-03-20 | 上海点融信息科技有限责任公司 | 访问区块链的方法、系统、区块链节点设备及用户终端 |
CN109040227A (zh) * | 2018-07-27 | 2018-12-18 | 江西贪玩信息技术有限公司 | 基于区块链的业务请求响应方法、装置和计算机设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346430B2 (en) * | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
CN102882699B (zh) * | 2011-07-14 | 2015-07-29 | 华为技术有限公司 | 边缘节点的分配方法和装置及边缘节点控制器 |
CN105224609B (zh) * | 2015-09-07 | 2018-09-14 | 北京金山安全软件有限公司 | 一种索引查询方法及装置 |
US10594689B1 (en) * | 2015-12-04 | 2020-03-17 | Digimarc Corporation | Robust encoding of machine readable information in host objects and biometrics, and associated decoding and authentication |
WO2017173235A1 (en) * | 2016-04-01 | 2017-10-05 | Immedia Semiconductor, Inc. | Wireless security network and communication methods |
CN110023944B (zh) * | 2017-01-03 | 2021-12-28 | 华为技术有限公司 | 通信方法及终端设备、核心网设备 |
JP6827327B2 (ja) * | 2017-01-05 | 2021-02-10 | 株式会社日立製作所 | 分散コンピューティングシステム |
CN107239479B (zh) * | 2017-03-28 | 2020-03-13 | 创新先进技术有限公司 | 一种基于区块链的数据存储以及查询的方法及装置 |
CN108323232B (zh) * | 2017-05-16 | 2020-01-24 | 北京大学深圳研究生院 | 一种多层级区块链系统之间索引与链拓扑结构的维护方法 |
CN107291862A (zh) * | 2017-06-12 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 业务数据存储方法、装置、存储介质及电子设备 |
CN107360001B (zh) * | 2017-07-26 | 2021-12-14 | 创新先进技术有限公司 | 一种数字证书管理方法、装置和系统 |
WO2019068027A1 (en) * | 2017-09-29 | 2019-04-04 | PokitDok, Inc. | SYSTEM AND METHOD FOR CRYPTOGRAPHIC ACTIVE BLOCK CHAIN |
CN108052615B (zh) * | 2017-12-15 | 2021-12-21 | 泰康保险集团股份有限公司 | 访问请求的处理方法、装置、介质及电子设备 |
US10848553B2 (en) * | 2018-04-16 | 2020-11-24 | Infrared5, Inc. | System and method for real-time secure multimedia streaming over a decentralized network |
JP6949249B2 (ja) * | 2018-04-16 | 2021-10-13 | ビーシー ディベロップメント ラボズ ゲーエムベーハー | 最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク |
US11676139B2 (en) * | 2018-06-29 | 2023-06-13 | Arcblock, Inc. | Blockchain adapter, protocol, and access layer |
CN109032803B (zh) * | 2018-08-01 | 2021-02-12 | 创新先进技术有限公司 | 数据处理方法和装置、客户端 |
US20200092084A1 (en) * | 2018-09-18 | 2020-03-19 | TERNiO, LLC | System and methods for operating a blockchain network |
CN110046036A (zh) * | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种操作请求分配方法、装置及设备 |
CN110609755A (zh) * | 2019-08-02 | 2019-12-24 | 平安科技(深圳)有限公司 | 跨区块链节点的消息处理方法及装置、设备、介质 |
-
2018
- 2018-12-25 CN CN201811589917.4A patent/CN110046036A/zh active Pending
-
2019
- 2019-10-09 TW TW108136612A patent/TWI759638B/zh active
- 2019-11-18 EP EP19902567.7A patent/EP3812899B1/en active Active
- 2019-11-18 SG SG11202100490VA patent/SG11202100490VA/en unknown
- 2019-11-18 WO PCT/CN2019/119091 patent/WO2020134698A1/zh unknown
-
2021
- 2021-01-29 US US17/162,801 patent/US11212371B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301408A (zh) * | 2014-10-13 | 2015-01-21 | 无锡云捷科技有限公司 | 一种基于补偿节点的cdn与p2p融合方法 |
CN105786592A (zh) * | 2014-12-15 | 2016-07-20 | 北大方正集团有限公司 | 一种分布式事务的处理方法及装置 |
TW201810148A (zh) * | 2016-09-02 | 2018-03-16 | 現代財富控股有限公司 | 區塊鏈負載平衡系統及其方法 |
CN107819829A (zh) * | 2017-10-17 | 2018-03-20 | 上海点融信息科技有限责任公司 | 访问区块链的方法、系统、区块链节点设备及用户终端 |
CN109040227A (zh) * | 2018-07-27 | 2018-12-18 | 江西贪玩信息技术有限公司 | 基于区块链的业务请求响应方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210152667A1 (en) | 2021-05-20 |
US11212371B2 (en) | 2021-12-28 |
CN110046036A (zh) | 2019-07-23 |
EP3812899A4 (en) | 2021-09-08 |
TW202026966A (zh) | 2020-07-16 |
SG11202100490VA (en) | 2021-02-25 |
WO2020134698A1 (zh) | 2020-07-02 |
EP3812899B1 (en) | 2024-01-03 |
EP3812899A1 (en) | 2021-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI759638B (zh) | 操作請求分配方法、裝置及設備 | |
KR102304492B1 (ko) | 합의 검증을 위한 방법 및 장치 | |
US10944769B2 (en) | Intrusion detection on load balanced network traffic | |
US10789085B2 (en) | Selectively providing virtual machine through actual measurement of efficiency of power usage | |
US9888064B2 (en) | Load-balancing input/output requests in clustered storage systems | |
TW201906389A (zh) | 一種認證方法、基於區塊鏈的認證資料處理方法及裝置 | |
US9197514B2 (en) | Service level agreement based storage access | |
JP6588977B2 (ja) | 複合パーティション関数 | |
US9906589B2 (en) | Shared management service | |
JP2021515293A (ja) | ブロックチェーン・ネットワークのインフラストラクチャのサービス・マネジメントのコンピュータ実装方法、システム、コンピュータ・プログラム、およびブロックチェーン・ネットワーク | |
TW201822033A (zh) | 資源處理方法及裝置 | |
KR20130060273A (ko) | 네트워크 저장 시스템의 셋업 및 구성 | |
WO2020024650A1 (zh) | 数据处理方法和装置、客户端 | |
CN109542862B (zh) | 用于控制文件系统的挂载的方法、装置和系统 | |
US10341181B2 (en) | Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems | |
TWI697223B (zh) | 資料處理方法 | |
US11005718B2 (en) | Determining capabilities of cognitive entities in a distributed network based on application of cognitive protocols | |
US11546307B2 (en) | Method to implement multi-tenant/shared Redis cluster using envoy | |
JP2016527623A (ja) | リースエージェントシステム間での制作者システムの分配 | |
US11831706B1 (en) | System and method for distributed management of storage systems based on intent | |
US9866496B2 (en) | Methods and systems for allocating and de-allocating delivery groups across multiple server farms | |
JP2020536299A (ja) | 改善されたパフォーマンスのためのユーザ・プロファイルの動的かつ自動的な変更を実施するための方法、コンピュータ・システム及びプログラム | |
US10587725B2 (en) | Enabling a traditional language platform to participate in a Java enterprise computing environment | |
TWI714017B (zh) | 資料處理方法和裝置、伺服器 | |
US10749913B2 (en) | Techniques for multiply-connected messaging endpoints |