The invention discloses a method and system of multi-node collaborative blocking. By determining the nodes in the blockchain network as the collaborative nodes, and through the cooperation between the node collaborator and the transaction manager, the collaborative nodes can orderly process transactions together, with good processing performance and fast block output speed. Through the transaction lock management module and the sequence management module in the transaction manager , the accounting collaboration module and the clock coordinator are combined to ensure that multiple nodes cooperate to block without data disorder, and block in an orderly manner, which improves the block output efficiency and shortens the block output time.
【技术实现步骤摘要】
一种多节点协同打块的方法及系统
本专利技术属于区块链领域,尤其涉及一种多节点协同打块的方法及系统。
技术介绍
随着比特币的出现,区块链技术被越来越多的认识,区块链中的挖矿尤其受到很多技术迷的青睐,现有的区块链网络中,几乎所有的区块链都是各节点独立工作,这导致区块链的吞吐性能由单一节点的最大处理能力决定,而单一节点的计算能力、存储能力总是有限的,这导致区块链的性能被局限在单台计算机的处理性能之内;而实际业务应用中,业务总是无穷无尽的增长,需求和交易的能力也随着无穷尽的增长,但计算机的处理性能却无法做到无穷无尽的增长,这导致当前的区块链无法大规模应用到真实的业务生产环境中,那么如何让区块链的处理性能能突破单一计算机的计算能力成为一个急需解决的问题。
技术实现思路
本专利技术所要解决的技术问题在于提供一种处理性能好、出块速度快、能实现多个节点协同打块,提高打块效率的一种多节点协同打块的方法及系统。为解决上述技术问题,本专利技术的技术解决方案是:一种多节点协同打块的方法,包括如下步骤:S1启动区块链节点,检查本地协同配置;S2加入区块链网络中的协同节点;S3启动主节点,主节点检测协同节点心跳;S4主节点获取本周期未处理的交易,并为这些未处理交易标注序列;S5主节点将已标注序列的未处理的交易进行相关性分组,并将分组中有交易顺序处理需要的交易进行上锁;S6主节点将分组后的交易依次发送给各协同节点;S7各协同节点开始处理交易,将每一条交易处 ...
【技术保护点】
1.一种多节点协同打块的方法,包括如下步骤:/nS1启动区块链节点,检查本地协同配置;/nS2加入区块链网络中的协同节点;/nS3启动主节点,主节点检测协同节点心跳;/nS4主节点获取本周期未处理的交易,并为这些未处理交易标注序列;/nS5主节点将已标注序列的未处理的交易进行相关性分组,并将分组中有交易顺序处理需要的交易进行上锁;/nS6主节点将分组后的交易依次发送给各协同节点;/nS7各协同节点开始处理交易,将每一条交易处理结果返回主节点,并等待主节点指示;/nS8主节点收到交易后保存处理结果,并将下一条交易的锁的释放指令发给协同节点,各协同节点继续开始处理交易,并将交易处理结果返回主节点,并等待主节点指示,在S8内依次循环;/nS9当协同节点交易处理过程中遇到交易全部处理完毕,而主节点还没有新的交易发来时,暂停交易,当协同节点交易处理过程中遇到时钟指令本周期结束时,立即停止交易;/nS10协同节点交易停止后,主节点将协同节点处理的交易打入区块,主节点将区块签名后向网络广播,完成打块,进入下一个区块周期循环。/n
【技术特征摘要】
1.一种多节点协同打块的方法,包括如下步骤:
S1启动区块链节点,检查本地协同配置;
S2加入区块链网络中的协同节点;
S3启动主节点,主节点检测协同节点心跳;
S4主节点获取本周期未处理的交易,并为这些未处理交易标注序列;
S5主节点将已标注序列的未处理的交易进行相关性分组,并将分组中有交易顺序处理需要的交易进行上锁;
S6主节点将分组后的交易依次发送给各协同节点;
S7各协同节点开始处理交易,将每一条交易处理结果返回主节点,并等待主节点指示;
S8主节点收到交易后保存处理结果,并将下一条交易的锁的释放指令发给协同节点,各协同节点继续开始处理交易,并将交易处理结果返回主节点,并等待主节点指示,在S8内依次循环;
S9当协同节点交易处理过程中遇到交易全部处理完毕,而主节点还没有新的交易发来时,暂停交易,当协同节点交易处理过程中遇到时钟指令本周期结束时,立即停止交易;
S10协同节点交易停止后,主节点将协同节点处理的交易打入区块,主节点将区块签名后向网络广播,完成打块,进入下一个区块周期循环。
2.根据权利要求1所述的一种多节点协同打块的方法,其特征在于,所述的步骤S2加入区块链网络中的协同节点的方法是:
S21发布需求协同的请求,检查本地节点是否为主节点;
S22若本地节点是主节点则直接开始检测协同节点心跳,若本地节点不是主节点,则查找配置的主节点;
S23与主节点建立连接,并开始发送心跳包;
S24发送了心跳包的本地节点切换为协同模式,开始主节点的任务调度。
3.根据权利要求2所述的一种多节点协同打块的方法,其特征在于,所述主节点检测协同节点心跳的方法是
S31主节点启动监听心跳包,监听其他节点发送的心跳包;
S32主节点检查自己的协同列表,当列表不为空时,依次检查列表中的网络状态;
S33判断节点是否能与主节点网络连接,若不能,则从协同列表中去除,若能则建立连接;
S34监听心跳包如果有新的协同节点加入,并将新的协同节点校验通过后加入协同列表中;
S35监听心跳包过程中发现有协同节点掉线时,将其从协同列表中移除,移除掉线节点时,若掉线节点已经处理了一部分交易,那么需要将剩余未处理交易撤销,将撤销后的重新分配给其他协同节点;
S36进入监听心跳循环。
4.根据权利要求1所述的一种多节点协同打块的方法...
【专利技术属性】
技术研发人员:杨税令,
申请(专利权)人:厦门本能管家科技有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。