区块链系统及其中非生产节点的任务执行速度的提高方法技术方案

技术编号:20176366 阅读:24 留言:0更新日期:2019-01-23 00:17
本发明专利技术提出了一种区块链系统中非生产节点的任务执行速度的提高方法、介质及系统,该方法包括:区块生产节点获取用户任务中的地址信息,对区块链系统中每个地址集进行遍历搜索,将包含地址信息的地址集进行合并以生成新地址集,以及将包含地址信息的地址集所对应的任务集合并,将用户任务添加到合并后的任务集合生成新的任务集;将新地址集与新任务集进行关联映射,并进行打包直到生成新区块后进行广播;使得非生产节点在接收到新区块后可以并行执行任务,从而提高非生产节点执行任务的速度。

Block Chain System and Improving Task Execution Speed of Non-production Nodes

The invention provides a method, medium and system for improving task execution speed of non-production node in block chain system. The method includes: block production node obtains address information in user's task, searches every address set in block chain system, merges address set containing address information to generate a new address set, and places containing address information. The task set corresponding to address set is merged and user tasks are added to the merged task set to generate a new task set; the new address set is mapped with the new task set and packaged until the new block is generated for broadcasting; the task can be executed in parallel by the non-production node after receiving the new block, thus improving the speed of non-production node executing tasks.

【技术实现步骤摘要】
区块链系统及其中非生产节点的任务执行速度的提高方法
本专利技术涉及数据处理
,特别涉及一种区块链系统中非生产节点的任务执行速度的提高方法、介质及系统。
技术介绍
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,其是以密码学方式保证的不可篡改和不可伪造,实现去中心化的分布式账本。在现有的区块链系统中,非生产节点对区块内任务的执行过程为:先等待区块生成节点广播出生产好的区块,然后接收该区块并进行解包以获得任务,并按顺序串行执行任务,以期保持与区块生产节点同样的任务执行结果和最终状态。然而,由于非生产节点在执行任务时所有任务均需要按串行的顺序执行,这大大影响了非生产节点执行任务的速度,造成资源浪费。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种区块链系统中非生产节点的任务执行速度的提高方法,该方法在区块生产节点执行用户任务之前通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。本专利技术的第二个目的在于提出一种计算机可读存储介质。本专利技术的第三个目的在于提出一种区块链系统。本专利技术的第四个目的在于还提出一种区块链系统。为达到上述目的,本专利技术第一方面实施例提出了一种区块链系统中非生产节点的任务执行速度的提高方法,该方法包括以下步骤:区块链系统中的区块生产节点获取用户任务,并在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;所述区块生产节点根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集,并将包含所述地址信息的地址集进行合并以生成新地址集,以及将包含所述地址信息的地址集所对应的任务集合并;所述区块生产节点将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射,直至达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对所述新区块进行广播;所述非生产节点在接收到所述新区块后,对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。根据本专利技术实施例的区块链系统中非生产节点的任务执行速度的提高方法,通过区块链系统中的区块生产节点获取用户任务,并在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息,然后该区块生产节点根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,并将包含该地址信息的地址集进行合并以生成新地址集,以及将包含该地址信息的地址集所对应的任务集合并,接着,该区块生产节点将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播,以便非生产节点接收新区块,并且非生产节点在接收到新区块后对该新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本专利技术在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。另外,根据本专利技术上述实施例提出的区块链系统中非生产节点的任务执行速度的提高方法还可以具有如下附加的技术特征:可选地,当所述用户任务中的地址信息不属于所述区块链系统中每个地址集时,所述区块生产节点根据所述用户任务中的地址信息重新创建地址集,并将创建的地址集与所述用户任务进行关联映射。可选地,所述区块生产节点通过接收任务请求,并根据所述任务请求中的公钥对所述任务请求进行解锁以获取所述用户任务。可选地,所述区块生产节点通过调用智能合约函数中的地址常量以获取所述用户任务中的地址信息。为达到上述目的,本专利技术第二方面实施例提出了一种计算机可读存储介质,其上存储有区块链系统中非生产节点的任务执行速度的提高程序,该区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的区块链系统中非生产节点的任务执行速度的提高方法。根据本专利技术实施例的计算机可读存储介质,通过存储区块链系统中非生产节点的任务执行速度的提高程序,这样区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的区块链系统中非生产节点的任务执行速度的提高方法,由此,在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。为达到上述目的,本专利技术第三方面实施例提出了一种区块链系统,包括区块生产节点和非生产节点,其中,所述区块生产节点包括:任务获取模块,用于获取用户任务;任务解析模块,用于在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;搜索模块,用于根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集;合并模块,用于将包含所述地址信息的地址集进行合并以生成新地址集,并将包含所述地址信息的地址集所对应的任务集合并,以及将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射;打包模块,用于在所述区块生产节点达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块;广播模块,用于对所述新区块进行广播;所述非生产节点包括:接收模块,用于接收所述新区块;执行模块,用于将对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。根据本专利技术实施例的区块链系统,包括区块生产节点和非生产节点,其中,区块生产节点通过任务获取模块获取用户任务,并在执行用户任务前通过任务解析模块对用户任务进行解析以获取所述用户任务中的地址信息,然后根据用户任务中的地址信息通过搜索模块对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,再通过合并模块将包含该地址信息的地址集进行合并以生成新地址集,并将包含该地址信息的地址集所对应的任务集合并,以及将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射;并且,当区块生产节点达到生产区块临界点时,通过打包模块对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,然后通过广播模块对新区块进行广播;非生产节点通过接收模块接收该新区块,再通过执行模块将对新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本专利技术在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的本文档来自技高网...

【技术保护点】
1.一种区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,包括以下步骤:所述区块链系统中的区块生产节点获取用户任务,并在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;所述区块生产节点根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集,并将包含所述地址信息的地址集进行合并以生成新地址集,以及将包含所述地址信息的地址集所对应的任务集合并;所述区块生产节点将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射,直至达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对所述新区块进行广播;所述非生产节点在接收到所述新区块后,对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。

【技术特征摘要】
1.一种区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,包括以下步骤:所述区块链系统中的区块生产节点获取用户任务,并在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;所述区块生产节点根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集,并将包含所述地址信息的地址集进行合并以生成新地址集,以及将包含所述地址信息的地址集所对应的任务集合并;所述区块生产节点将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射,直至达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对所述新区块进行广播;所述非生产节点在接收到所述新区块后,对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。2.如权利要求1所述的区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,当所述用户任务中的地址信息不属于所述区块链系统中每个地址集时,所述区块生产节点根据所述用户任务中的地址信息重新创建地址集,并将创建的地址集与所述用户任务进行关联映射。3.如权利要求1或2所述的区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,所述区块生产节点通过接收任务请求,并根据所述任务请求中的公钥对所述任务请求进行解锁以获取所述用户任务。4.如权利要求1或2所述的区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,所述区块生产节点通过调用智能合约函数中的地址常量以获取所述用户任务中的地址信息。5.一种计算机可读存储介质,其特征在于,其上存储有区块链系统中非生产节点的任务执行速度的提高程序,该区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如权利要求1-4中任一项所述的区块链系统中非生产节点的任务执行速度的提高...

【专利技术属性】
技术研发人员:吴胜文
申请(专利权)人:泰链厦门科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1