CN113691632B - 一种区块链计算资源的动态调度方法及系统 - Google Patents
一种区块链计算资源的动态调度方法及系统 Download PDFInfo
- Publication number
- CN113691632B CN113691632B CN202110994766.6A CN202110994766A CN113691632B CN 113691632 B CN113691632 B CN 113691632B CN 202110994766 A CN202110994766 A CN 202110994766A CN 113691632 B CN113691632 B CN 113691632B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- transaction data
- array
- signature verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种区块链计算资源的动态调度方法及系统,其中方法包括:选举一个领导节点,将普通节点的索引数组和信誉数组封装进区块;领导节点获取各交易数据,根据索引数组和信誉数组确定对应的交易发送节点的信誉值并进行判断;领导节点确定对交易数据进行验签操作的目标节点,目标节点是与交易发送节点不同的普通节点;目标节点获取交易数据并进行验签操作,将验签结果发送给领导节点;领导节点判断验签结果是否异常,若异常,领导节点对交易数据进行验签操作;否则领导节点将交易数据封装进区块。本发明将最消耗计算资源的验签操作均匀地分配给全网所有的普通节点,封装操作仍由领导节点完成,在保证交易顺序的同时极大提高了系统处理速度。
Description
技术领域
本发明涉及区块链技术领域,尤其是涉及一种区块链计算资源的动态调度方法及系统。
背景技术
区块链技术为不可信环境下的节点通信提供了可信数据传输与记录技术,但其线性链式数据结构的组织方式,却导致其通常只能由少数几个节点进行区块验证与封装操作,其他节点在此期间只能处于等待状态,这是系统性能瓶颈的关键所在。区块链的可信性实质上由交易各方的数字签名进行保证,而链式数据结构则主要用于提供不可篡改性,即保证各交易的先后顺序。
目前业界严格遵从区块内的交易的所有验证操作和封装操作均用同一个封装节点进行,其改进策略是使用分片的方式进行,即允许多个节点并行组建多个子链。分片策略的最大问题是,如果不同的打包节点刚好将有相互联系的几笔交易封装到不同的分片上,那么可能会引起冲突,比如双花问题,为了解决跨链交易冲突问题,通常需要对已封装的分片进行回滚,而这会花费大量时间,系统此时会暂停所有打包服务。另外,即使使用了分片的并行策略,由于分片的数量通常只有若干个,那么全网还是存在大量空闲的节点,算力资源无法得到有效的发挥。
发明内容
本发明的目的是提供一种区块链计算资源的动态调度方法及系统,以解决现有技术中在区块封装的过程中存在大量的空闲节点和算力浪费的技术问题。
本发明的目的,可以通过如下技术方案实现:
一种区块链计算资源的动态调度方法,包括以下步骤:
所述区块链中所有节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;
所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;
所述领导节点确定对所述交易数据进行验签操作的目标节点;其中,所述目标节点是与所述交易发送节点不同的普通节点;
所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;
所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
可选地,所述区块链中所有节点选举一个领导节点包括:
所述区块链中的所有节点通过共识算法选举一个领导节点。
可选地,所述领导节点将普通节点的索引数组和信誉数组封装进区块之前还包括:
所述领导节点对普通节点进行编号,将信誉数组中所有元素的初始值设为1。
可选地,所述领导节点确定对所述交易数据进行验签操作的目标节点包括:
所述领导节点通过均匀抽样和数据查重确定均匀样本,根据所述均匀样本和预设公式计算候选节点的序号,根据所述候选节点的序号和所述信誉数组得到所述候选节点的信誉值,若所述信誉值不小于第二预设阈值,则将所述候选节点作为目标节点,否则返回执行所述领导节点通过均匀抽样和数据查重确定均匀样本的步骤。
可选地,所述领导节点对所述交易数据进行验签操作包括:
所述领导节点对所述交易数据进行验签操作,若所述交易数据中的待签名信息和签名不存在对应关系,则降低交易发送节点的信誉值并更新所述信誉数组。
本发明还提供了一种区块链计算资源的动态调度系统,包括若干个节点,其中:
各个所述节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;
所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;
所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点;
所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;
所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
可选地,所述区块链中所有节点选举一个领导节点包括:
所述区块链中的所有节点通过共识算法选举一个领导节点。
可选地,所述领导节点将普通节点的索引数组和信誉数组封装进区块之前还包括:
所述领导节点对普通节点进行编号,将信誉数组中所有元素的初始值设为1。
可选地,所述领导节点确定对所述交易数据进行验签操作的目标节点包括:
所述领导节点通过均匀抽样和数据查重确定均匀样本,根据所述均匀样本和预设公式计算候选节点的序号,根据所述候选节点的序号和所述信誉数组得到所述候选节点的信誉值,若所述信誉值不小于第二预设阈值,则将所述候选节点作为目标节点,否则返回执行所述领导节点通过均匀抽样和数据查重确定均匀样本的步骤。
可选地,所述领导节点对所述交易数据进行验签操作包括:
所述领导节点对所述交易数据进行验签操作,若所述交易数据中的所述签名和所述待签名信息不存在对应关系,则降低交易发送节点的信誉值并更新所述信誉数组。
本发明提供了一种区块链计算资源的动态调度方法及系统,其中方法包括以下步骤:所述区块链中所有节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点;所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
本发明提供的区块链计算资源的动态调度方法及系统,带来的有益效果是:
将区块链中的全体节点分为领导节点和普通节点,领导节点将普通节点的索引数组和信誉数组封装进区块,根据索引数组和信誉数组领导节点能确定各交易数据的交易发送节点的信誉值,当交易发送节点的信誉值满足预设条件时,选择与交易发送节点不同的普通节点作为目标节点,目标节点对交易数据进行验签操作并将验签结果发送给领导节点,领导节点根据验签结果对交易数据进行封装或验签操作。由于目标节点与发送交易节点不同,全网所有的普通节点均匀地参与交易数据的验签操作,充分调度空闲的算力资源,极大地提高了系统吞吐量;最终的交易数据封装操作仍由领导节点完成,能保证交易顺序,而将最消耗计算资源的验签操作尽可能均匀地分配给全网所有的普通节点,能极大提高系统处理速度。
附图说明
图1为本发明的动态调度方法流程示意图。
具体实施方式
本发明实施例提供了一种区块链计算资源的动态调度方法及系统,以解决现有技术中在区块封装的过程中存在大量的空闲节点和算力浪费的技术问题。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,本发明一种区块链计算资源的动态调度方法的实施例,包括以下步骤:
S100:所述区块链中所有节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;
S200:所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;
S300:所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点;
S400:所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;
S500:所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
在步骤S100中,区块链中的全体节点通过常用的选举算法(例如共识算法PBFT)选出一个领导节点,区块链中除领导节点以外的其他节点均为普通节点,由该领导节点对普通节点进行编号,例如1、2、3、…、N,N为普通节点的个数,将索引数组INDEXES封装进区块(创世区块或普通区块),并进行全网广播;其中,索引素组的元素为{index,pubKey},index为普通节点的序号,pubKey为普通节点的公钥。
此外,该领导节点在本地初始化一个大小为N的信誉数组CREDITS,信誉数组CREDITS的元素表示每个普通节点的信誉值,将所有元素的值初始化为1,并将信誉数组CREDITS封装进索引数组INDEXES所在的区块里,在每次生成新区块时都要更新所有普通节点的信誉值。
值得说明的是,步骤S100中“所述区块链中所有节点选举一个领导节点”这个操作可能不止进行一次,若领导节点出现故障时,则按照常用共识算法里的出错处理机制,需要重新选举一个领导节点。当第一次“选举一个领导节点”时,整个区块链系统中没有区块数据,因此数组INDEXES就被封装进第一个区块(即创世区块)里;否则,系统中已经有区块数据了,数组INDEXES被封装进其他区块(即普通区块)里。由于在原来的领导节点发生故障后,全网的普通节点数N可能会改变,因此,每次需要重新对当前的在网节点进行编号。
在步骤S200中,所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步。
在步骤S200中,区块链系统内的所有节点都有发送交易的需求,所有节点都将原始的交易发给领导节点,领导节点每收到一个交易数据(交易数据包含交易发送节点的公钥pubKey),因此,领导节点可从索引数组INDEXES里查找该pubKey是该数组的第几个元素,即交易发送者的节点序号。
值得说明的是,索引数组INDEXES[i]表示取INDEXES数组中的第i个元素,比如,索引数组INDEXES的第一个元素为INDEXES[1],INDEXES[3]表示索引数组INDEXES的第三个元素。
领导节点每获取一个交易数据tx,读取交易数据tx的交易发送节点的公钥pubKey,从索引数组INDEXES中读取该pubKey对应的节点序号sendIdx,再从信誉素组CREDITS中读取序号为sendIdx的节点的信誉值CREDITS[sendIdx]。若CREDITS[sendIdx]小于第一预设阈值(例如为0.5),则直接丢弃,程序结束;否则,执行步骤S300。
在步骤S300中,所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点。
步骤S300主要包括以下操作:均匀抽样、数据查重和查找目标节点。
(1)均匀抽样的过程为:
领导节点使用基于“0-1均匀分布”的抽样算法(例如基于线性同余发生器的算法),抽取一个样本sample∈[0,1),可知,0≤sample<1。
值得说明的是,本实施例中的抽样算法是根据系统内置的抽样公式,在一个初始值(通常是调用该公式时的系统时间)的输入下,不断地得出一个新的值,然后又以这个新的值作为输入,得出新的值。抽样算法中计算机不断地随机给出一个[0,1)之间的数字,抽样的目的是为了每次得出一个随机数,然后通过“数据查重”的公式简单地转换到某个节点(计算得到该节点的序号)上,从而尽可能均匀地将验证工作分给所有普通节点进行。
(2)数据查重的过程为:
查询得到公钥pubKey所对应的序号sendIdx,若sample∈[(sendIdx-1)*GAP,sendIdx*GAP),则重新进行均匀抽样,否则查找目标节点。
其中,参数GAP=1/N,小数位截断到一定长度(例如保留两位小数)。
(3)查找目标节点的过程为:
根据公式targetIdx=Ceil(sample/GAP)计算目标节点的序号,读取CREDITS[targetIdx]的信誉值,若其信誉值低于第二预设阈值(例如0.5),则重新进行均匀抽样,否则,将序号为targetIdx的普通节点作为目标节点,执行步骤S400。
值得说明的是,Ceil(x)表示对x向上取整,例如,Ceil(3.214)的值为4。
在步骤S400中,所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点。
领导节点将交易数据tx发送给序号为targetIdx的目标节点,目标节点收到领导节点发送的对交易数据tx进行验签操作的请求后,对交易数据tx进行验签操作。若交易数据的签名无误,则将字段valid置为true,否则置为false,并对元数据(tx,valid)签名,生成签名sign,最后将response=(tx,valid,sign)返回给领导节点。
值得说明的是,验签操作是通用的技术,交易数据tx中需要包括待签名的信息(比如“A给B转账50元”)、待签名信息的执行者的公钥(A是主动方,即交易发送者A的公钥)、最终的签名,领导节点将这三个数据发给序号为targetIdx的目标节点(这样做的目的是交叉验证,自己的签名由别人来验证),送入验签函数即可。由于“签名”是用“待签名信息的执行者的公钥”对“待签名的信息”进行的一种数学变换,因此,待签名的信息、待签名信息的执行者的公钥和签名这三者之间存在对应关系,“签名”(一方)和“公钥、待签名的信息”(两方)存在唯一对应关系。
本实施例中,交易发送者和待签名信息的执行者是同一节点。待签名信息“A给B转账50元”,A是交易发送节点,B是交易接收节点,即交易发送节点A给交易接收节点B转账50元,待签名信息需要交易发送节点A来执行,也就是说,交易发送者和待签名信息的执行者都是A节点,交易数据中包括待签名信息(A给B转账50元)、交易发送节点A的公钥及其签名。
S500:所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
在步骤S500中,领导节点收集目标节点targetIdx返回的响应数据response,若response无异常(即valid字段为true),领导节点则在不验证交易数据tx中签名的情况下将交易数据tx封装到新区块;若response存在异常(即valid字段为false),领导节点对交易数据tx进行验签操作,若发现交易数据tx里的签名与待签名的信息无法对应,则将CREDITS[sendIdx]的值调低(比如每次减小0.1),并在区块封装时更新CREDITS数组。
具体的,更新CREDITS数组的方法为:若本轮交易没有任何一个异常,则在区块内有一个字段记录上一次有异常时的区块号;若至少有一个异常,则每一个新区块都有一个CREDITS数组,并更新整个数组。
值得说明的是,当响应数据response无异常时,从理论上讲,领导节点也可对交易数据tx进行再次验证,本实施例中,由于已经将验签工作分发给其他普通节点,因此,领导节点就不再重复执行辅助验签节点的工作。
由于谁也不能保证进行验签操作的节点不撒谎,当然也不能保证领导节点不撒谎,最保险的办法就是所有节点对每一个交易都要验证一次,但这是极其低效的做法。本发明实施例提供的区块链计算资源的动态调度方法,是一种高效的验签操作方法,通过让其他节点(非交易的发送方)随机地验证某些节点的交易,达到互相监督的目的,从而间接地达到“除非所有人都撒谎,不然大家都会按规则验签”的目的。
本发明实施例提供的区块链计算资源的动态调度方法,将区块链中的全体节点分为领导节点和普通节点,领导节点将普通节点的索引数组和信誉数组封装进区块,根据索引数组和信誉数组领导节点能确定各交易数据的交易发送节点的信誉值,当信誉值满足预设条件时,选择与交易发送节点不同的普通节点作为目标节点,目标节点对交易数据进行验签操作并将验签结果发送给领导节点,领导节点根据验签结果对交易数据进行封装或验签操作。由于目标节点与发送交易节点不同,全网所有的普通节点均匀地参与交易数据的验签操作,对全网空闲算力资源进行充分调度,使计算任务近乎平均地分配给全网,从根本上提高系统吞吐量;最终的交易数据封装操作仍由领导节点完成,能保证交易顺序,不存在交易冲突问题,而将最消耗计算资源的验签操作尽可能均匀地分配给全网所有的普通节点,能极大提高系统处理速度。
现有技术在区块封装的整个过程中,全网存在大量的节点空转和算力浪费,本发明实施例提供的区块链计算资源的动态调度方法,所有节点都均匀地参与交易的验证与区块的封装工作,几乎不存在节点空转的可能。现有技术中存在跨链冲突问题,从而导致区块回滚与大量时间消耗,本发明实施例中最终的区块封装操作仍由领导节点完成,交易顺序得到保证,因此,不存在交易冲突问题,而最消耗计算资源的签名验签操作则全网共同承担,极大提高系统处理速度。
本发明还提供了区块链计算资源的动态调度系统的实施例,包括若干个节点,其中:
各个所述节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;
所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;
所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点;
所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;
所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
本实施例中,区块链中的所有节点通过共识算法选举一个领导节点,领导节点对普通节点进行编号,将信誉数组中所有元素的初始值设为1,然后领导节点将普通节点的索引数组和信誉数组封装进区块。领导节点通过均匀抽样和数据查重确定均匀样本,根据均匀样本和预设公式计算候选节点的序号,根据候选节点的序号和信誉数组得到候选节点的信誉值,若候选节点的信誉值不小于第二预设阈值,则将候选节点作为目标节点,否则返回执行所述领导节点通过均匀抽样和数据查重确定均匀样本的步骤,重新确定目标节点。
当领导节点判断目标节点的验签结果存在异常时,领导节点对交易数据进行验签操作,若交易数据中的待签名信息和签名不存在对应关系,则降低交易发送节点的信誉值并更新信誉数组。
本发明实施例提供的区块链计算资源的动态调度系统,将区块链中的全体节点分为领导节点和普通节点,领导节点将普通节点的索引数组和信誉数组封装进区块,根据索引数组和信誉数组领导节点能确定各交易数据的交易发送节点的信誉值,当信誉值满足预设条件时,选择与交易发送节点不同的普通节点作为目标节点,目标节点对交易数据进行验签操作并将验签结果发送给领导节点,领导节点根据验签结果对交易数据进行封装或验签操作。由于目标节点与发送交易节点不同,全网所有的普通节点均匀地参与交易数据的验签操作,对全网空闲算力资源进行充分调度,使计算任务近乎平均地分配给全网,从根本上提高系统吞吐量;最终的交易数据封装操作仍由领导节点完成,能保证交易顺序,不存在交易冲突问题,而将最消耗计算资源的验签操作尽可能均匀地分配给全网所有的普通节点,能极大提高系统处理速度。
本发明实施例提供的区块链计算资源的动态调度系统,将最消耗计算资源的验签操作均匀地分配给全网所有的普通节点,封装操作仍由领导节点完成,在保证交易顺序的同时极大提高了系统处理速度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种区块链计算资源的动态调度方法,其特征在于,包括以下步骤:
所述区块链中所有节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;
所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;
所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点;
所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;
所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
2.根据权利要求1所述的区块链计算资源的动态调度方法,其特征在于,所述区块链中所有节点选举一个领导节点包括:
所述区块链中的所有节点通过共识算法选举一个领导节点。
3.根据权利要求1所述的区块链计算资源的动态调度方法,其特征在于,所述领导节点将普通节点的索引数组和信誉数组封装进区块之前还包括:
所述领导节点对普通节点进行编号,将信誉数组中所有元素的初始值设为1。
4.根据权利要求1所述的区块链计算资源的动态调度方法,其特征在于,所述领导节点确定对所述交易数据进行验签操作的目标节点包括:
所述领导节点通过均匀抽样和数据查重确定均匀样本,根据所述均匀样本和预设公式计算候选节点的序号,根据所述候选节点的序号和所述信誉数组得到所述候选节点的信誉值,若所述信誉值不小于第二预设阈值,则将所述候选节点作为目标节点,否则返回执行所述领导节点通过均匀抽样和数据查重确定均匀样本的步骤。
5.根据权利要求1所述的区块链计算资源的动态调度方法,其特征在于,所述领导节点对所述交易数据进行验签操作包括:
所述领导节点对所述交易数据进行验签操作,若所述交易数据中的待签名信息和签名不存在对应关系,则降低交易发送节点的信誉值并更新所述信誉数组。
6.一种区块链计算资源的动态调度系统,其特征在于,包括若干个节点,其中:
各个所述节点选举一个领导节点,所述领导节点将普通节点的索引数组和信誉数组封装进区块;其中,所述普通节点是区块链中除领导节点以外的节点,所述索引数组的元素为普通节点的序号及公钥,所述信誉数组的元素为节点的信誉值;
所述领导节点获取各交易数据,根据所述索引数组和所述信誉数组确定所述交易数据对应的交易发送节点的信誉值,判断所述信誉值是否小于第一预设阈值,若是则结束,否则执行下一步;
所述领导节点确定对所述交易数据进行验签操作的目标节点,所述目标节点是与所述交易发送节点不同的普通节点;
所述目标节点获取所述交易数据并进行验签操作,将验签结果发送给所述领导节点;
所述领导节点判断所述验签结果是否异常,若异常,所述领导节点对所述交易数据进行验签操作;否则,所述领导节点将所述交易数据封装进区块。
7.根据权利要求6所述的区块链计算资源的动态调度系统,其特征在于,所述区块链中所有节点选举一个领导节点包括:
所述区块链中的所有节点通过共识算法选举一个领导节点。
8.根据权利要求6所述的区块链计算资源的动态调度系统,其特征在于,所述领导节点将普通节点的索引数组和信誉数组封装进区块之前还包括:
所述领导节点对普通节点进行编号,将信誉数组中所有元素的初始值设为1。
9.根据权利要求6所述的区块链计算资源的动态调度系统,其特征在于,所述领导节点确定对所述交易数据进行验签操作的目标节点包括:
所述领导节点通过均匀抽样和数据查重确定均匀样本,根据所述均匀样本和预设公式计算候选节点的序号,根据所述候选节点的序号和所述信誉数组得到所述候选节点的信誉值,若所述信誉值不小于第二预设阈值,则将所述候选节点作为目标节点,否则返回执行所述领导节点通过均匀抽样和数据查重确定均匀样本的步骤。
10.根据权利要求6所述的区块链计算资源的动态调度系统,其特征在于,所述领导节点对所述交易数据进行验签操作包括:
所述领导节点对所述交易数据进行验签操作,若所述交易数据中的待签名信息和签名不存在对应关系,则降低交易发送节点的信誉值并更新所述信誉数组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994766.6A CN113691632B (zh) | 2021-08-27 | 2021-08-27 | 一种区块链计算资源的动态调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994766.6A CN113691632B (zh) | 2021-08-27 | 2021-08-27 | 一种区块链计算资源的动态调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691632A CN113691632A (zh) | 2021-11-23 |
CN113691632B true CN113691632B (zh) | 2023-06-13 |
Family
ID=78583333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994766.6A Active CN113691632B (zh) | 2021-08-27 | 2021-08-27 | 一种区块链计算资源的动态调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113691632B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114399309B (zh) * | 2022-03-24 | 2022-07-05 | 北京微芯感知科技有限公司 | 一种区块链交易冗余调度方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107665405A (zh) * | 2017-09-26 | 2018-02-06 | 北京邮电大学 | 一种车辆信誉管理方法及装置 |
CN108122165A (zh) * | 2017-12-15 | 2018-06-05 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及系统 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
CN109767199A (zh) * | 2018-12-10 | 2019-05-17 | 西安电子科技大学 | 基于信誉的pbft共识系统及方法、区块链数据处理系统 |
WO2019190394A1 (en) * | 2018-03-29 | 2019-10-03 | Agency For Science, Technology And Research | Methods of distributing software across a network and distribution systems |
CN111049658A (zh) * | 2019-12-12 | 2020-04-21 | 北京信息科技大学 | 一种基于dag的全网统一信任锚系统、建立方法和认证方法 |
CN111681007A (zh) * | 2020-05-28 | 2020-09-18 | 中国工商银行股份有限公司 | 用于区块链的信用评分方法、交易方法以及相关装置 |
CN112073483A (zh) * | 2020-08-28 | 2020-12-11 | 武汉大学 | 基于信誉与委员会背书机制的权威证明共识方法及系统 |
CN112822267A (zh) * | 2021-01-05 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理方法和装置 |
CN112883114A (zh) * | 2021-02-24 | 2021-06-01 | 中国工商银行股份有限公司 | 应用于区块链的交易处理方法和装置 |
CN113222690A (zh) * | 2021-04-27 | 2021-08-06 | 铭数科技(青岛)有限公司 | 一种应用于区域能源互联网的区块链共识方法 |
-
2021
- 2021-08-27 CN CN202110994766.6A patent/CN113691632B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107665405A (zh) * | 2017-09-26 | 2018-02-06 | 北京邮电大学 | 一种车辆信誉管理方法及装置 |
CN108122165A (zh) * | 2017-12-15 | 2018-06-05 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及系统 |
WO2019190394A1 (en) * | 2018-03-29 | 2019-10-03 | Agency For Science, Technology And Research | Methods of distributing software across a network and distribution systems |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
CN109767199A (zh) * | 2018-12-10 | 2019-05-17 | 西安电子科技大学 | 基于信誉的pbft共识系统及方法、区块链数据处理系统 |
CN111049658A (zh) * | 2019-12-12 | 2020-04-21 | 北京信息科技大学 | 一种基于dag的全网统一信任锚系统、建立方法和认证方法 |
CN111681007A (zh) * | 2020-05-28 | 2020-09-18 | 中国工商银行股份有限公司 | 用于区块链的信用评分方法、交易方法以及相关装置 |
CN112073483A (zh) * | 2020-08-28 | 2020-12-11 | 武汉大学 | 基于信誉与委员会背书机制的权威证明共识方法及系统 |
CN112822267A (zh) * | 2021-01-05 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理方法和装置 |
CN112883114A (zh) * | 2021-02-24 | 2021-06-01 | 中国工商银行股份有限公司 | 应用于区块链的交易处理方法和装置 |
CN113222690A (zh) * | 2021-04-27 | 2021-08-06 | 铭数科技(青岛)有限公司 | 一种应用于区域能源互联网的区块链共识方法 |
Non-Patent Citations (1)
Title |
---|
基于信誉值创建数字资产的区块链系统;王醒;《技术研究》;全部 * |
Also Published As
Publication number | Publication date |
---|---|
CN113691632A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3693886B1 (en) | Optimizations for verification of interactions system and method | |
CN110708171B (zh) | 区块链共识投票方法、装置、设备以及存储介质 | |
EP4300323A1 (en) | Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product | |
WO2019097322A1 (en) | Optimization of high volume transaction performance on a blockchain | |
US11468044B2 (en) | Optimizations for verification of interactions system and method using probability density functions | |
CN110599177A (zh) | 一种交易验证方法及相关设备 | |
CN111343212B (zh) | 消息处理方法、装置、设备以及存储介质 | |
CN110570311B (zh) | 区块链的共识方法、装置及设备 | |
Guo et al. | Dynamic proof of data possession and replication with tree sharing and batch verification in the cloud | |
WO2021114025A1 (zh) | 增量数据确定方法、确定装置、服务器及终端设备 | |
CN113691632B (zh) | 一种区块链计算资源的动态调度方法及系统 | |
US8581751B2 (en) | Multi-cell voltage secure data encoding in hybrid vehicles | |
CN112291305A (zh) | 基于统一标识的码链构建方法及装置 | |
CN116455576A (zh) | 基于物联网的区块链共识方法、装置、存储介质和设备 | |
CN116522355A (zh) | 一种电力数据边界保护方法、设备、介质及装置 | |
CN113469668A (zh) | 基于区块链的对公客户交易限制方法及装置 | |
CN116596535B (zh) | 基于区块链的交易支付方法、装置、设备及存储介质 | |
CN118093613B (zh) | 数据交互处理方法、区块构建节点、终端设备及存储介质 | |
CN113852679B (zh) | 基于认证节点器的网络资源优化方法、装置、设备及存储介质 | |
Tanygin et al. | The Method for Reducing Memory Costs for Messages Processing | |
CN118535561A (zh) | 核电基地的数据校验方法、装置及电子设备 | |
CN116663068B (zh) | 联盟链归档方法、相关装置和介质 | |
CN116303804B (zh) | 一种数据对比方法、装置、设备和介质 | |
CN112836228B (zh) | 一种基于区块链的数据所有权的分布式管理系统 | |
CN114679466B (zh) | 区块链网络的共识处理方法、装置、计算机设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |