CN109410044A - 区块链系统及其中利用非生产者节点闲置计算资源的方法 - Google Patents
区块链系统及其中利用非生产者节点闲置计算资源的方法 Download PDFInfo
- Publication number
- CN109410044A CN109410044A CN201810961535.3A CN201810961535A CN109410044A CN 109410044 A CN109410044 A CN 109410044A CN 201810961535 A CN201810961535 A CN 201810961535A CN 109410044 A CN109410044 A CN 109410044A
- Authority
- CN
- China
- Prior art keywords
- node
- producer
- group
- catenary system
- block
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出了一种区块链系统中利用非生产者节点闲置计算资源的方法,该方法包括:生产者节点接收每一条操作请求并进行计数,当数量达到交易组长度时,将操作请求打包成交易组并进行编号广播,直至满足生产区块条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;非生产者节点接收到每个交易组广播,根据编号依次执行每个交易组的操作任务以进行同步,直至接收到广播生产权交接信息时,获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明通过使非生产者节点在接收到生产者节点打包好的区块之前就开始进行同步,从而节省最终同步时间,大大提高了非生产者节点对于闲置计算资源的合理利用率。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种区块链系统中利用非生产节点闲置计算资源的方法、介质、装置及系统。
背景技术
目前大部分的区块链节点的数据存储,都是存储自创世块开始的全量区块,同时存储一份最新的区块链状态,以此执行交易、进行区块链状态同步及区块链共识;由于区块链节点存储数据时,全量区块均存在关联,因此区块链状态同步需要按顺序依次执行各个区块中的交易。
现有的区块链系统中,非生产者节点状态的同步发生在接收到生产者节点打包好的区块并进行解包执行之时,这种同步方式使得非生产者节点在接收到打包好的区块之前,有大量的闲置时间,而在接收到打包好的区块后,却要进行大量耗时的同步,从而导致非生产者节点的闲置计算资源的浪费。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种区块链系统中利用非生产者节点闲置计算资源的方法,该方法使非生产者节点在接收到生产者节点打包好的区块之前就开始进行同步,从而节省最终同步时间,大大提高了非生产者节点对于闲置计算资源的合理利用率。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种区块链系统中利用非生产者节点闲置计算资源的装置。
本发明的第四个目的在于提出一种区块链系统。
为达到上述目的,本发明第一方面实施例提出了一种区块链系统中利用非生产者节点闲置计算资源的方法,该方法包括以下步骤:当所述区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断;每当所述计数量达到配置的交易组长度N时,将N条操作请求打包成一个交易组并签名,以及对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息,其中,N为正整数;所述区块链系统中任意一个非生产者节点接收到每个交易组广播时,对所述交易组广播进行解锁以获得所述交易组的编号和操作任务,并根据所述交易组的编号依次执行每个交易组的操作任务以进行同步,并获取已同步交易组的数量,直至接收到所述广播生产权交接信息时,根据所述广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。
根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的方法,当区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断,接着每当计数量达到配置的交易组长度N时,就将N条操作请求打包成一个交易组并签名,并对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;而当区块链系统中任意一个非生产者节点接收到每个交易组广播时,对交易组广播进行解锁以获得交易组的编号和操作任务,并根据交易组的编号依次执行每个交易组的操作任务以进行同步,然后获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
另外,根据本发明上述实施例提出的区块链系统中利用非生产者节点闲置计算资源的方法还可以具有如下附加的技术特征:
可选地,在所述区块链系统初始化时,配置所述交易组长度N。
可选地,当所述区块链系统中任意一个节点作为生产者节点时,该生产者节点内通过配置一个节点内部局部变量count以对接收到的每一条操作请求进行计数,其中,S1,该生产者节点每接收到一条操作请求时,将该操作记录放入缓存,并将count加1;S2,当count整除N时,将第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播;重复执行步骤S1和S2,直至所述缓存中操作记录达到预设的容纳上限时,将所有交易组进一步打包成区块。
可选地,当所述区块链系统中任意一个节点作为生产者节点时,如果所述区块链系统中任意一个非生产者节点接收到交易组广播,则获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对所述交易组广播进行解锁。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有区块链系统中利用非生产者节点闲置计算资源的程序,该区块链系统中利用非生产者节点闲置计算资源的程序被处理器执行时实现如上述的区块链系统中利用非生产者节点闲置计算资源的方法。
根据本发明实施例的计算机可读存储介质,通过存储区块链系统中利用非生产者节点闲置计算资源的程序,这样区块链系统中利用非生产者节点闲置计算资源的程序被处理器执行时实现如上述的区块链系统中利用非生产者节点闲置计算资源的方法,由此,能够在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
达到上述目的,本发明第三方面实施例提出了一种区块链系统中利用非生产者节点闲置计算资源的装置,包括计数模块,用于在所述区块链系统中任意一个节点作为生产者节点时,对该生产者节点接收到的每一条操作请求进行计数;判断模块,用于对计数量进行判断;打包及广播模块,用于在每当所述计数量达到配置的交易组长度N时,将N条操作请求打包成一个交易组并签名,以及对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息,其中,N为正整数;解锁模块,用于在所述区块链系统中任意一个非生产者节点接收到每个交易组广播时,对所述交易组广播进行解锁以获得所述交易组的编号和操作任务;同步模块,用于根据所述交易组的编号依次执行每个交易组的操作任务以进行同步,并获取已同步交易组的数量,直至接收到所述广播生产权交接信息时,根据所述广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。
根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的装置,在区块链系统中任意一个节点作为生产者节点时,通过计数模块对接收到的每一条操作请求进行计数,并通过判断模块对计数量进行判断,这样每当计数量达到配置的交易组长度N时,就通过打包及广播模块将N条操作请求打包成一个交易组并签名,并对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;而在区块链系统中任意一个非生产者节点接收到每个交易组广播时,通过解锁模块对交易组广播进行解锁以获得交易组的编号和操作任务,并通过同步模块根据交易组的编号依次执行每个交易组的操作任务以进行同步,然后获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明能够在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
另外,根据本发明上述实施例提出的区块链系统中利用非生产者节点闲置计算资源的装置还可以具有如下附加的技术特征:
可选地,该区块链系统中利用非生产者节点闲置计算资源的装置还包括配置模块,用于在所述区块链系统初始化时,配置所述交易组长度N。
可选地,当所述区块链系统中任意一个节点作为生产者节点时,该生产者节点内通过配置一个节点内部局部变量count以对接收到的每一条操作请求进行计数,其中,S1,该生产者节点每接收到一条操作请求时,所述计数模块将该操作记录放入缓存,并将count加1;S2,当count整除N时,所述打包及广播模块将第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播;重复执行步骤S1和S2,直至所述缓存中操作记录达到预设的容纳上限时,所述打包及广播模块将所有交易组进一步打包成区块。
可选地,所述解锁模块进一步用于,当所述区块链系统中任意一个节点作为生产者节点时,如果所述区块链系统中任意一个非生产者节点接收到交易组广播,则获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对所述交易组广播进行解锁。
为达到上述目的,本发明第四方面实施例提出了一种区块链系统,其包括如上述的区块链系统中利用非生产者节点闲置计算资源的装置。
根据本发明实施例的区块链系统,通过上述的区块链系统中利用非生产者节点闲置计算资源的装置,能够在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
附图说明
图1为根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的方法的流程示意图;
图2为根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的方法中生产者节点的流程示意图;
图3为根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的方法中非生产者节点的流程示意图;
图4为根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的装置的方框示意图;
图5为根据本发明另一实施例的区块链系统中利用非生产者节点闲置计算资源的装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
现有区块链系统中非生产者节点状态的同步发生在接收到生产者节点打包好的区块并进行解包执行之时,这种同步方式使得非生产者节点在接收到打包好的区块之前,有大量的闲置时间,而在接收到打包好的区块后,却要执行大量耗时的同步,导致非生产者节点的闲置计算资源得不到合理的利用。为了提高非生产者节点对于闲置计算资源的合理利用率,本发明实施例提出了一种区块链系统中利用非生产者节点闲置计算资源的方法,当区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断,接着每当计数量达到配置的交易组长度N时,就将N条操作请求打包成一个交易组并签名,并对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;而当区块链系统中任意一个非生产者节点接收到每个交易组广播时,对交易组广播进行解锁以获得交易组的编号和操作任务,并根据交易组的编号依次执行每个交易组的操作任务以进行同步,然后获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为本发明实施例提出的区块链系统中利用非生产者节点闲置计算资源的方法的流程示意图。
如图1所示,该区块链系统中利用非生产者节点闲置计算资源的方法包括以下步骤:
步骤101,当区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断。
在本发明的实施例中,区块链系统包括生产者节点和非生产者节点,其中,生产者节点可通过区块链系统的共识机制例如通过dpos共识机制确定。
需要说明的是,在区块链系统初始化时,预先配置交易组长度N,其为系统全局变量。
作为一个实施例,通过配置一个节点内部局部变量count对接收到的每一条操作请求进行计数,其中,该生产者节点每接收到一条操作请求时,将该操作记录放入缓存,并将count加1,即步骤S1。
也就是说,当区块链系统中任意一个节点作为生产者节点时,通过配置一个节点内部局部变量count对接收到的每一条操作请求进行计数,该生产者节点每接收到一条操作请求时,将该操作记录放入缓存,并将count加1,并对计数量count进行判断。
步骤102,每当计数量达到配置的交易组长度N时,将N条操作请求打包成一个交易组并签名,以及对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息,其中,N为正整数。
也就是说,对上述计数量count进行判断,当count整除N时,将第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播,即步骤S2。重复执行步骤S1和S2,直至最后缓存中操作记录达到区块预设的容纳上限时,将之前所有交易组进一步打包成区块,并广播生产权交接信息。
步骤103,区块链系统中任意一个非生产者节点接收到每个交易组广播时,对交易组广播进行解锁以获得交易组的编号和操作任务,并根据交易组的编号依次执行每个交易组的操作任务以进行同步,并获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。
作为一个实施例,上述区块链系统中任意一个非生产者节点接收到交易组广播,则获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对交易组广播进行解锁以获得交易组的编号和操作任务。
也就是说,当区块链系统中任意一个非生产者节点接收到生产者节点发布的交易组广播时,通过获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对交易组广播进行解锁以获得交易组的编号和操作任务,然后获取已同步交易组的数量g,直至接收到该生产者节点广播的生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量u,并在已同步交易组的数量g等于所有交易组的数量u时完成同步。
根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的方法,当区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断,接着每当计数量达到配置的交易组长度N时,就将N条操作请求打包成一个交易组并签名,并对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;而当区块链系统中任意一个非生产者节点接收到每个交易组广播时,对交易组广播进行解锁以获得交易组的编号和操作任务,并根据交易组的编号依次执行每个交易组的操作任务以进行同步,然后获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
为了进一步理解上述技术方案,下面将通过图2对上述技术方案进行详细的说明。
图2为本发明一个实施例中生产者节点的执行流程示意图。其中,在区块链系统初始化时,配置全局变量交易组长度N。如图2所示,该生产者节点的执行流程包括以下步骤:
步骤201,确定区块生产者节点。
作为一个实施例,根据当前全局中生产者安排表(由dpos共识机制确定)来得到区块生产者节点。
步骤202,生产者节点接收操作请求,并将操作请求的记录放入缓存,通过配置一个节点内部局部变量count以对接收到的每一条操作请求进行计数。
作为一个实施例,该生产者节点每接收到一条操作请求时,将该操作请求的记录放入缓存,并将count加1。
步骤203,判断count是否能整除N。如果是,则执行步骤204;如果否,则返回执行步骤202。
也就是说,判断当前接收到的操作请求的数量count是否能组成交易组。如果达到组成交易组的数量则执行步骤204;否者,返回步骤202,继续接收下一条操作请求。
步骤204,将缓存中第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播。
也就是说,当缓存中的操作请求的数量count能被N整除时,将长度为N的操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播。
步骤205,判断缓存中操作记录是否达到预设的容纳上限。如果是,则执行步骤206;如果否,则返回执行步骤202。
也就是说,判断该生产者节点当前接收到的操作记录是否达到缓存中区块生产所预设的能容纳的上限。如果是,则执行步骤206;如果否,则回执行步骤202,继续等待接收新的操作请求。
步骤206,将所有交易组进一步打包成区块,并广播生产权交接信息。
为了进一步理解上述技术方案,下面将通过图3对上述技术方案进行详细的说明。
图3为本发明一个实施例中非生产者节点的执行流程示意图。如图3所示,该非生产者节点的执行流程包括以下步骤:
步骤301,接收交易组广播。
需要说明的是,当生产者节点将长度为N的操作请求数量打包为一个交易组,并进行编号和广播后,非生产者节点即开始同步接收生产者节点的交易组广播。
步骤302,根据当前全局中生产者安排表确定当前生产者,使用当前生产者节点的公钥对交易组广播进行解锁以获得交易组的编号和操作任务。
作为一个实施例,通过获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对交易组广播进行解锁以获得交易组的编号和操作任务。
步骤303,获取已同步交易组的数量g,若交易组编号X==g+1,则执行交易组广播内的操作任务。
步骤304,令g=g+1。
步骤305,查找缓存池。
步骤306,判断缓存池中是否有任务组y==g+1。如果是,则执行步骤307;如果否,则返回步骤301。
步骤307,取出y,执行内部操作。
步骤308,令g=g+1。
需要说明的是,当执行完步骤308之后,重复执行步骤306至步骤308,直至收到生产权交接信息后,执行步骤309。
步骤309,获取所有交易组数量u,若此时g==u则将交易组打包为区块,并将g置为0,否则将该信息放入缓存池,继续等待剩余交易组。
作为一个实施例,上述所有交易组数量u从生产者节点发出的广播生产权交接信息中获取。
根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的方法,当区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断,接着每当计数量达到配置的交易组长度N时,就将N条操作请求打包成一个交易组并签名,并对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;而当区块链系统中任意一个非生产者节点接收到每个交易组广播时,对交易组广播进行解锁以获得交易组的编号和操作任务,并根据交易组的编号依次执行每个交易组的操作任务以进行同步,然后获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
为了实现上述实施例,本发明实施例提出了一种计算机可读存储介质,其上存储有区块链系统中利用非生产者节点闲置计算资源的程序,该区块链系统中利用非生产者节点闲置计算资源的程序被处理器执行时实现如上述的区块链系统中利用非生产者节点闲置计算资源的方法。
根据本发明实施例的计算机可读存储介质,通过存储区块链系统中利用非生产者节点闲置计算资源的程序,这样区块链系统中利用非生产者节点闲置计算资源的程序被处理器执行时实现如上述的区块链系统中利用非生产者节点闲置计算资源的方法,由此,本发明在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
图4为本发明实施例的区块链系统中利用非生产者节点闲置计算资源的装置的方框示意图。如图4所示,该装置包括:计数模块401、判断模块402、打包及广播模块403、解锁模块404以及同步模块405。
其中,计数模块401,用于在区块链系统中任意一个节点作为生产者节点时,对该生产者节点接收到的每一条操作请求进行计数。
判断模块402,用于对计数量进行判断。
打包及广播模块403,用于在每当计数量达到配置的交易组长度N时,将N条操作请求打包成一个交易组并签名,以及对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息,其中,N为正整数。
解锁模块404,用于在区块链系统中任意一个非生产者节点接收到每个交易组广播时,对交易组广播进行解锁以获得交易组的编号和操作任务;
同步模块405,用于根据交易组的编号依次执行每个交易组的操作任务以进行同步,并获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。
作为一个实施例,当区块链系统中任意一个节点作为生产者节点时,该生产者节点内通过配置一个节点内部局部变量count以对接收到的每一条操作请求进行计数,其中,
S1,该生产者节点每接收到一条操作请求时,计数模块将该操作记录放入缓存,并将count加1;
S2,当count整除N时,打包及广播模块将第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播;
重复执行步骤S1和S2,直至缓存中操作记录达到预设的容纳上限时,打包及广播模块将所有交易组进一步打包成区块。
作为一个实施例,解锁模块404进一步用于,当区块链系统中任意一个节点作为生产者节点时,如果区块链系统中任意一个非生产者节点接收到交易组广播,则获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对交易组广播进行解锁。
图5为本发明另一实施例的区块链系统中利用非生产者节点闲置计算资源的装置的方框示意图。如图5所示,其与图4的区别在于,该装置还包括:配置模块400,用于在区块链系统初始化时,配置交易组长度N。
需要说明的是,前述对于区块链系统中利用非生产者节点闲置计算资源的方法的实施例的解释说明同样适用于本实施例的区块链系统中利用非生产者节点闲置计算资源的装置,此处不再赘述。
根据本发明实施例的区块链系统中利用非生产者节点闲置计算资源的装置,在区块链系统中任意一个节点作为生产者节点时,通过计数模块对接收到的每一条操作请求进行计数,并通过判断模块对计数量进行判断,这样每当计数量达到配置的交易组长度N时,就通过打包及广播模块将N条操作请求打包成一个交易组并签名,并对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息;而在区块链系统中任意一个非生产者节点接收到每个交易组广播时,通过解锁模块对交易组广播进行解锁以获得交易组的编号和操作任务,并通过同步模块根据交易组的编号依次执行每个交易组的操作任务以进行同步,然后获取已同步交易组的数量,直至接收到广播生产权交接信息时,根据广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。由此,本发明能够在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
为实现上述实施例,本发明实施例提出了一种区块链系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的区块链系统中利用非生产者节点闲置计算资源的程序,处理器执行区块链系统中利用非生产者节点闲置计算资源的程序时实现如上述的区块链系统中利用非生产者节点闲置计算资源的方法。
根据本发明实施例的区块链系统,通过存储器存储区块链系统中利用非生产者节点闲置计算资源的程序,这样区块链系统中利用非生产者节点闲置计算资源的程序被处理器执行时实现如上述的区块链系统中利用非生产者节点闲置计算资源的方法,由此,本发明在生产者节点生产区块时,将接收到的操作请求进行分批打包并广播,这样使得非生产者节点在接收到区块之前就开始进行同步,从而节省最终同步时间,有效利用非生产者节点在接收到区块之前的闲置计算资源,大大提高了非生产者节点对于闲置计算资源的合理利用率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链系统中利用非生产者节点闲置计算资源的方法,其特征在于,包括以下步骤:
当所述区块链系统中任意一个节点作为生产者节点时,对接收到的每一条操作请求进行计数,并对计数量进行判断;
每当所述计数量达到配置的交易组长度N时,将N条操作请求打包成一个交易组并签名,以及对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息,其中,N为正整数;
所述区块链系统中任意一个非生产者节点接收到每个交易组广播时,对所述交易组广播进行解锁以获得所述交易组的编号和操作任务,并根据所述交易组的编号依次执行每个交易组的操作任务以进行同步,并获取已同步交易组的数量,直至接收到所述广播生产权交接信息时,根据所述广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。
2.如权利要求1所述的区块链系统中利用非生产者节点闲置计算资源的方法,其特征在于,在所述区块链系统初始化时,配置所述交易组长度N。
3.如权利要求1或2所述的区块链系统中利用非生产者节点闲置计算资源的方法,其特征在于,当所述区块链系统中任意一个节点作为生产者节点时,该生产者节点内通过配置一个节点内部局部变量count以对接收到的每一条操作请求进行计数,其中,
S1,该生产者节点每接收到一条操作请求时,将该操作记录放入缓存,并将count加1;
S2,当count整除N时,将第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播;
重复执行步骤S1和S2,直至所述缓存中操作记录达到预设的容纳上限时,将所有交易组进一步打包成区块。
4.如权利要求1或2所述的区块链系统中利用非生产者节点闲置计算资源的方法,其特征在于,当所述区块链系统中任意一个节点作为生产者节点时,如果所述区块链系统中任意一个非生产者节点接收到交易组广播,则获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对所述交易组广播进行解锁。
5.一种计算机可读存储介质,其特征在于,其上存储有区块链系统中利用非生产者节点闲置计算资源的程序,该区块链系统中利用非生产者节点闲置计算资源的程序被处理器执行时实现如权利要求1-4中任一项所述的区块链系统中利用非生产者节点闲置计算资源的方法。
6.一种区块链系统中利用非生产者节点闲置计算资源的装置,其特征在于,包括:
计数模块,用于在所述区块链系统中任意一个节点作为生产者节点时,对该生产者节点接收到的每一条操作请求进行计数;
判断模块,用于对计数量进行判断;
打包及广播模块,用于在每当所述计数量达到配置的交易组长度N时,将N条操作请求打包成一个交易组并签名,以及对每个交易组进行编号并广播,直至满足生产区块的条件时,将所有交易组进一步打包成区块,并广播生产权交接信息,其中,N为正整数;
解锁模块,用于在所述区块链系统中任意一个非生产者节点接收到每个交易组广播时,对所述交易组广播进行解锁以获得所述交易组的编号和操作任务;
同步模块,用于根据所述交易组的编号依次执行每个交易组的操作任务以进行同步,并获取已同步交易组的数量,直至接收到所述广播生产权交接信息时,根据所述广播生产权交接信息获取所有交易组的数量,并在已同步交易组的数量等于所有交易组的数量时完成同步。
7.如权利要求6所述的区块链系统中利用非生产者节点闲置计算资源的装置,其特征在于,还包括配置模块,用于在所述区块链系统初始化时,配置所述交易组长度N。
8.如权利要求6或7所述的区块链系统中利用非生产者节点闲置计算资源的装置,其特征在于,当所述区块链系统中任意一个节点作为生产者节点时,该生产者节点内通过配置一个节点内部局部变量count以对接收到的每一条操作请求进行计数,其中,
S1,该生产者节点每接收到一条操作请求时,所述计数模块将该操作记录放入缓存,并将count加1;
S2,当count整除N时,所述打包及广播模块将第count-N+1条操作请求至第count条操作请求打包成一个交易组并签名,以及对该交易组进行编号和广播;
重复执行步骤S1和S2,直至所述缓存中操作记录达到预设的容纳上限时,所述打包及广播模块将所有交易组进一步打包成区块。
9.如权利要求6或7所述的区块链系统中利用非生产者节点闲置计算资源的装置,其特征在于,所述解锁模块进一步用于,当所述区块链系统中任意一个节点作为生产者节点时,如果所述区块链系统中任意一个非生产者节点接收到交易组广播,则获取当前生产者节点的ID信息,并根据当前生产者节点的ID信息使用当前生产者节点的公钥对所述交易组广播进行解锁。
10.一种区块链系统,其特征在于,包括如权利要求6-9中任一项所述的区块链系统中利用非生产者节点闲置计算资源的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810961535.3A CN109410044B (zh) | 2018-08-22 | 2018-08-22 | 区块链系统及其中利用非生产者节点闲置计算资源的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810961535.3A CN109410044B (zh) | 2018-08-22 | 2018-08-22 | 区块链系统及其中利用非生产者节点闲置计算资源的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109410044A true CN109410044A (zh) | 2019-03-01 |
CN109410044B CN109410044B (zh) | 2020-10-23 |
Family
ID=65464345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810961535.3A Active CN109410044B (zh) | 2018-08-22 | 2018-08-22 | 区块链系统及其中利用非生产者节点闲置计算资源的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109410044B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430066A (zh) * | 2019-07-15 | 2019-11-08 | 杭州复杂美科技有限公司 | 用于减少区块链交易重复广播的方法、设备及存储介质 |
CN110544096A (zh) * | 2019-09-05 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 基于区块链的数据获取方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354560A (zh) * | 2013-06-28 | 2013-10-16 | 广州菁英信息技术有限公司 | 数据的分解同步方法及系统 |
CN106446067A (zh) * | 2016-09-06 | 2017-02-22 | 联动优势科技有限公司 | 一种获取交易数据的方法和装置 |
CN107124444A (zh) * | 2017-03-28 | 2017-09-01 | 上海瑞麒维网络科技有限公司 | 一种区块链数据同步的方法和装置 |
US20180117446A1 (en) * | 2016-05-02 | 2018-05-03 | Bao Tran | Smart device |
-
2018
- 2018-08-22 CN CN201810961535.3A patent/CN109410044B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354560A (zh) * | 2013-06-28 | 2013-10-16 | 广州菁英信息技术有限公司 | 数据的分解同步方法及系统 |
US20180117446A1 (en) * | 2016-05-02 | 2018-05-03 | Bao Tran | Smart device |
CN106446067A (zh) * | 2016-09-06 | 2017-02-22 | 联动优势科技有限公司 | 一种获取交易数据的方法和装置 |
CN107124444A (zh) * | 2017-03-28 | 2017-09-01 | 上海瑞麒维网络科技有限公司 | 一种区块链数据同步的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430066A (zh) * | 2019-07-15 | 2019-11-08 | 杭州复杂美科技有限公司 | 用于减少区块链交易重复广播的方法、设备及存储介质 |
CN110430066B (zh) * | 2019-07-15 | 2021-07-06 | 杭州复杂美科技有限公司 | 用于减少区块链交易重复广播的方法、设备及存储介质 |
CN110544096A (zh) * | 2019-09-05 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 基于区块链的数据获取方法、装置、设备及存储介质 |
CN110544096B (zh) * | 2019-09-05 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 基于区块链的数据获取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109410044B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | Distributed dynamic scheduling for cyber-physical production systems based on a multi-agent system | |
Tran et al. | Decomposition methods for the parallel machine scheduling problem with setups | |
Pan et al. | An improved migrating birds optimisation for a hybrid flowshop scheduling with total flowtime minimisation | |
Fleszar et al. | Algorithms for the unrelated parallel machine scheduling problem with a resource constraint | |
Feltl et al. | An improved hybrid genetic algorithm for the generalized assignment problem | |
Jin et al. | A parallel multi-neighborhood cooperative tabu search for capacitated vehicle routing problems | |
Pundoor et al. | Scheduling a production–distribution system to optimize the tradeoff between delivery tardiness and distribution cost | |
Archetti et al. | The split delivery capacitated team orienteering problem | |
CN106611270A (zh) | 一种求解并行机作业车间调度的混合启发式转移瓶颈算法 | |
CN109410044A (zh) | 区块链系统及其中利用非生产者节点闲置计算资源的方法 | |
CN107145350B (zh) | 一种软件开发方法及系统 | |
CN110910054B (zh) | 轨迹的确定方法和装置、时间的推荐方法和装置 | |
CN101986603A (zh) | 一种基于数据驱动的工作流动态流程构建方法和系统 | |
Dalle Mura et al. | A multi-objective software tool for manual assembly line balancing using a genetic algorithm | |
Mohammadi | Integrating lotsizing, loading, and scheduling decisions in flexible flow shops | |
CN107943561A (zh) | 一种面向云计算平台的科学工作流任务调度方法 | |
Gintner et al. | A crew scheduling approach for public transit enhanced with aspects from vehicle scheduling | |
CN107122952A (zh) | 基于规则的流程调度方法及系统 | |
CN105975276B (zh) | 分布式构建系统及方法 | |
CN102004660A (zh) | 一种业务流程的实现方法及装置 | |
Arias-Melia et al. | The vehicle sharing and task allocation problem: MILP formulation and a heuristic solution approach | |
Sanati et al. | Unrelated parallel machine energy-efficient scheduling considering sequence-dependent setup times and time-of-use electricity tariffs | |
CN112463340A (zh) | 基于tensorflow的多任务弹性调度方法及系统 | |
CN108846587A (zh) | 用于确定产品生产计划的系统及方法 | |
Vembu et al. | Heuristics for operator allocation and sequencing in product-line-cells with manually operated machines |
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 | ||
CP03 | Change of name, title or address |
Address after: 361000 B1F-065, Zone A, Huaxun Building, Software Park, Xiamen Torch Hi-tech Zone, Huli District, Xiamen City, Fujian Province Patentee after: Ke'an (Xiamen) Technology Co.,Ltd. Address before: B1f-065, zone a, Huaxun building, software park, torch hi tech Zone, Xiamen City, Fujian Province, 361000 Patentee before: TAILIAN (XIAMEN) TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |