CN109254837B - 区块链系统及其中非生产节点的任务执行速度的提高方法 - Google Patents
区块链系统及其中非生产节点的任务执行速度的提高方法 Download PDFInfo
- Publication number
- CN109254837B CN109254837B CN201810928259.0A CN201810928259A CN109254837B CN 109254837 B CN109254837 B CN 109254837B CN 201810928259 A CN201810928259 A CN 201810928259A CN 109254837 B CN109254837 B CN 109254837B
- Authority
- CN
- China
- Prior art keywords
- task
- address
- new
- block
- user
- 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
-
- 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
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种区块链系统中非生产节点的任务执行速度的提高方法、介质及系统,该方法包括:区块生产节点获取用户任务中的地址信息,对区块链系统中每个地址集进行遍历搜索,将包含地址信息的地址集进行合并以生成新地址集,以及将包含地址信息的地址集所对应的任务集合并,将用户任务添加到合并后的任务集合生成新的任务集;将新地址集与新任务集进行关联映射,并进行打包直到生成新区块后进行广播;使得非生产节点在接收到新区块后可以并行执行任务,从而提高非生产节点执行任务的速度。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种区块链系统中非生产节点的任务执行速度的提高方法、介质及系统。
背景技术
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,其是以密码学方式保证的不可篡改和不可伪造,实现去中心化的分布式账本。在现有的区块链系统中,非生产节点对区块内任务的执行过程为:先等待区块生成节点广播出生产好的区块,然后接收该区块并进行解包以获得任务,并按顺序串行执行任务,以期保持与区块生产节点同样的任务执行结果和最终状态。
然而,由于非生产节点在执行任务时所有任务均需要按串行的顺序执行,这大大影响了非生产节点执行任务的速度,造成资源浪费。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种区块链系统中非生产节点的任务执行速度的提高方法,该方法在区块生产节点执行用户任务之前通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种区块链系统。
本发明的第四个目的在于还提出一种区块链系统。
为达到上述目的,本发明第一方面实施例提出了一种区块链系统中非生产节点的任务执行速度的提高方法,该方法包括以下步骤:区块链系统中的区块生产节点获取用户任务,并在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;所述区块生产节点根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集,并将包含所述地址信息的地址集进行合并以生成新地址集,以及将包含所述地址信息的地址集所对应的任务集合并;所述区块生产节点将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射,直至达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对所述新区块进行广播;所述非生产节点在接收到所述新区块后,对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
根据本发明实施例的区块链系统中非生产节点的任务执行速度的提高方法,通过区块链系统中的区块生产节点获取用户任务,并在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息,然后该区块生产节点根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,并将包含该地址信息的地址集进行合并以生成新地址集,以及将包含该地址信息的地址集所对应的任务集合并,接着,该区块生产节点将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播,以便非生产节点接收新区块,并且非生产节点在接收到新区块后对该新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本发明在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
另外,根据本发明上述实施例提出的区块链系统中非生产节点的任务执行速度的提高方法还可以具有如下附加的技术特征:
可选地,当所述用户任务中的地址信息不属于所述区块链系统中每个地址集时,所述区块生产节点根据所述用户任务中的地址信息重新创建地址集,并将创建的地址集与所述用户任务进行关联映射。
可选地,所述区块生产节点通过接收任务请求,并根据所述任务请求中的公钥对所述任务请求进行解锁以获取所述用户任务。
可选地,所述区块生产节点通过调用智能合约函数中的地址常量以获取所述用户任务中的地址信息。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有区块链系统中非生产节点的任务执行速度的提高程序,该区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的区块链系统中非生产节点的任务执行速度的提高方法。
根据本发明实施例的计算机可读存储介质,通过存储区块链系统中非生产节点的任务执行速度的提高程序,这样区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的区块链系统中非生产节点的任务执行速度的提高方法,由此,在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
为达到上述目的,本发明第三方面实施例提出了一种区块链系统,包括区块生产节点和非生产节点,其中,所述区块生产节点包括:任务获取模块,用于获取用户任务;任务解析模块,用于在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;搜索模块,用于根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集;合并模块,用于将包含所述地址信息的地址集进行合并以生成新地址集,并将包含所述地址信息的地址集所对应的任务集合并,以及将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射;打包模块,用于在所述区块生产节点达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块;广播模块,用于对所述新区块进行广播;所述非生产节点包括:接收模块,用于接收所述新区块;执行模块,用于将对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
根据本发明实施例的区块链系统,包括区块生产节点和非生产节点,其中,区块生产节点通过任务获取模块获取用户任务,并在执行用户任务前通过任务解析模块对用户任务进行解析以获取所述用户任务中的地址信息,然后根据用户任务中的地址信息通过搜索模块对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,再通过合并模块将包含该地址信息的地址集进行合并以生成新地址集,并将包含该地址信息的地址集所对应的任务集合并,以及将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射;并且,当区块生产节点达到生产区块临界点时,通过打包模块对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,然后通过广播模块对新区块进行广播;非生产节点通过接收模块接收该新区块,再通过执行模块将对新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本发明在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
另外,根据本发明上述实施例提出的区块链系统还可以具有如下附加的技术特征:
可选地,所述合并模块还用于,当所述用户任务中的地址信息不属于所述区块链系统中每个地址集时,根据所述用户任务中的地址信息重新创建地址集,并将创建的地址集与所述用户任务进行关联映射。
可选地,所述任务获取模块通过接收任务请求,并根据所述任务请求中的公钥对所述任务请求进行解锁以获取所述用户任务。
可选地,所述任务解析模块通过调用智能合约函数中的地址常量以获取所述用户任务中的地址信息。
为达到上述目的,本发明第四方面实施例提出了一种区块链系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的非生产节点的任务执行速度的提高程序,所述处理器执行所述非生产节点的任务执行速度的提高程序时实现如上述的非生产节点的任务执行速度的提高方法。
根据本发明实施例的区块链系统,通过存储器存储非生产节点的任务执行速度的提高程序,这样非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的非生产节点的任务执行速度的提高方法,由此,在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
附图说明
图1为根据本发明实施例的非生产节点的任务执行速度的提高方法的流程示意图;
图2为根据本发明另一实施例的非生产节点的任务执行速度的提高方法的流程示意图;
图3为根据本发明实施例的地址集-任务集映射数据结构示意图;
图4为根据本发明实施例的地址集-任务集映射数据结构更新流程示意图;
图5为根据本发明实施例的区块链系统的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
现有的区块链系统中,包括多个节点,而根据是否具备生产区块的权限,可将多个节点分为非生产节点和区块生产节点,其中,非生产节点在接收到区块生产节点生成的区块后,对其进行解包以获得任务,并按顺序串行执行任务,该方式使得非生产节点执行任务的速度大大变慢。为了加快非生产节点的任务执行速度,本发明实施例提出了一种非生产节点的任务执行速度的提高方法,通过区块链系统中的区块生产节点获取用户任务,并在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息,然后该区块生产节点根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,并将包含该地址信息的地址集进行合并以生成新地址集,以及将包含该地址信息的地址集所对应的任务集合并,接着,该区块生产节点将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播,以便非生产节点接收新区块,并且非生产节点在接收到新区块后对该新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本发明在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为本发明实施例提出的区块链系统中非生产节点的任务执行速度的提高方法的流程示意图。如图1所示,该非生产节点的任务执行速度的提高方法包括以下步骤:
步骤101,区块链系统中的区块生产节点获取用户任务,并在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息。
也就是说,当区块链系统中的区块生产节点接收到用户发送的任务请求包后,获取任务请求包内的用户任务,然后在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息。
作为一个实施例,上述区块生产节点在接收到用户发送的任务请求包后,根据该任务请求包中附带的公钥对该任务请求包进行解密,以获得用户任务。
作为一个实施例,上述区块生产节点通过调用智能合约函数中的地址常量对用户任务进行解析,以获取用户任务中的地址信息;其中,智能合约函数中的地址常量在该合约上传区块链系统时,已被区块链系统利用编译原理标出,例如已在以太坊、eos等区块链系统中实现。
步骤102,区块生产节点根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含地址信息的地址集,并将包含地址信息的地址集进行合并以生成新地址集,以及将包含地址信息的地址集所对应的任务集合并。
也就是说,区块生产节点首先遍历搜索区块链系统中的每个地址集,寻找用户任务中出现的各个地址所属的地址集,并将该地址集进行合并生成新地址集,然后将包含各个地址的地址集所对应的任务集进行合并。
步骤103,区块生产节点将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播。
也就是说,在将包含各个地址的地址集所对应的任务集进行合并后,还将用户任务添加到合并后的任务集生成新任务集,然后将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并在区块链网络中对新区块进行广播。
作为一个实施例,将用户任务添加到合并后的任务集生成新任务集前,先将该用户任务标上时间点。
步骤104,非生产节点在接收到新区块后,对新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
即言,区块生产节点对生成的新区块进行广播后,由非生产节点接收并进行解包,且该非生产节点对新区块进行一次解包后可获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
也就是说,非生产节点在接收到新区块后,一次解包得到各个任务包,此时,为每个任务包开启一道线程,各线程之间并行执行,从而能让非生产节点的任务执行速度大大加快。而每个线程执行时,每个任务包中待执行任务的时间顺序进行执行。
根据本发明实施例的区块链系统中非生产节点的任务执行速度的提高方法,通过区块链系统中的区块生产节点获取用户任务,并在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息,然后该区块生产节点根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,并将包含该地址信息的地址集进行合并以生成新地址集,以及将包含该地址信息的地址集所对应的任务集合并,接着,该区块生产节点将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播,以便非生产节点接收新区块,并且非生产节点在接收到新区块后对该新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本发明在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
为了进一步理解上述技术方案,下面将通过图2对上述技术方案进行详细的说明。
图2为一个具体实施例的非生产节点的任务执行速度的提高方法的流程示意图。如图2所示,该非生产节点的任务执行速度的提高方法包括以下步骤:
步骤201,区块生产节点获得生产区块权限。
步骤202,区块生产节点接收任务请求。
步骤203,区块生产节点解锁任务请求,获得用户任务。
作为一个实施例,上述区块生产节点在接收到用户的任务请求后,根据该任务请求中附带的公钥对该任务请求进行解锁,以获得用户任务。
步骤204,区块生产节点调用智能合约函数中的地址常量以获取用户任务中的地址信息。
也就是说,区块生产节点通过调用智能合约函数中的地址常量对用户任务进行解析,以获取用户任务中的地址信息。
其中,智能合约函数中的地址常量在该合约上传区块链系统时,已被区块链系统利用编译原理标出,例如采用以太坊、eos等区块链系统的编译原理。
步骤205,对区块链系统中每个地址集进行遍历搜索,并判断每个地址集中是否存在包含该地址信息的地址集。如果是,则执行步骤207;如果否,则执行步骤206。
作为一个实施例,区块链系统中的地址集-任务集映射数据结构示意图如图3所示,每个地址集中包含有多个地址,每个任务集中包含有多个任务;每个任务均对应标上有时间点,且每个地址集均有与其关联映射的任务集。其中,需要说明的是,刚开始时区块链系统中地址集和任务集皆为空,数量为0,且不存在映射关系。
步骤206,区块生产节点根据用户任务中的地址信息重新创建地址集,并将创建的地址集与用户任务进行关联映射。
也就是说,如果用户任务中的地址信息不属于原来区块链系统中的任何地址集,则为该地址信息新创建一个地址集,并将创建的地址集与用户任务进行关联映射。
步骤207,将包含地址信息的地址集进行合并以生成新地址集,以及将包含地址信息的地址集所对应的任务集合并。
步骤208,将用户任务标上时间点,添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射。
作为一个实施例,区块链系统中的地址集-任务集映射数据结构更新流程示意图如图4所示,其中,区块生产节点获取用户任务中的地址信息包括地址A和地址B,遍历搜索区块链系统中的各个地址集,寻找到包含地址A的地址集1以及包含地址B的地址集2,将地址集1和地址集2合并生成新地址集,以及将地址集1对应的任务集1与地址集2对应的任务集2合并;然后将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射。
步骤209,达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播。
步骤210,非生产节点在接收到新区块后,对新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
根据本发明实施例的区块链系统中非生产节点的任务执行速度的提高方法,通过区块链系统中的区块生产节点获取用户任务,并在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息,然后该区块生产节点根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,并将包含该地址信息的地址集进行合并以生成新地址集,以及将包含该地址信息的地址集所对应的任务集合并,接着,该区块生产节点将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射,直至达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对新区块进行广播,以便非生产节点接收新区块,并且非生产节点在接收到新区块后对该新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本发明在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
为了实现上述实施例,本发明实施例提出了一种计算机可读存储介质,其上存储有区块链系统中非生产节点的任务执行速度的提高程序,该区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的区块链系统中非生产节点的任务执行速度的提高方法。
根据本发明实施例的计算机可读存储介质,通过存储区块链系统中非生产节点的任务执行速度的提高程序,这样区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的区块链系统中非生产节点的任务执行速度的提高方法,由此,在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
图5为本发明实施例提供的区块链系统的方框示意图;如图5所示,该区块链系统包括:区块生产节点300和非生产节点400。
其中,区块生产节点300包括:任务获取模块501、任务解析模块502、搜索模块503、合并模块504、打包模块505以及广播模块506;
任务获取模块501,用于获取用户任务;任务解析模块502,用于在执行用户任务前对用户任务进行解析以获取用户任务中的地址信息;搜索模块503,用于根据用户任务中的地址信息对区块链系统中每个地址集进行遍历搜索以获取包含地址信息的地址集;合并模块504,用于将包含地址信息的地址集进行合并以生成新地址集,并将包含地址信息的地址集所对应的任务集合并,以及将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射;打包模块505,用于在区块生产节点达到生产区块临界点时,对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块;广播模块506,用于对新区块进行广播;
其中,非生产节点400包括:接收模块507和执行模块508;
接收模块507,用于接收新区块;执行模块508,用于将对新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
作为一个实施例,上述任务获取模块501通过接收任务请求,并根据任务请求中的公钥对任务请求进行解锁以获取用户任务。
作为一个实施例,上述任务解析模块502通过调用智能合约函数中的地址常量以获取用户任务中的地址信息。
根据本发明实施例的区块链系统,包括区块生产节点和非生产节点,其中,区块生产节点通过任务获取模块获取用户任务,并在执行用户任务前通过任务解析模块对用户任务进行解析以获取所述用户任务中的地址信息,然后根据用户任务中的地址信息通过搜索模块对区块链系统中每个地址集进行遍历搜索以获取包含该地址信息的地址集,再通过合并模块将包含该地址信息的地址集进行合并以生成新地址集,并将包含该地址信息的地址集所对应的任务集合并,以及将用户任务添加到合并后的任务集以生成新任务集,并将新地址集与新任务集进行关联映射;并且,当区块生产节点达到生产区块临界点时,通过打包模块对每个新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,然后通过广播模块对新区块进行广播;非生产节点通过接收模块接收该新区块,再通过执行模块将对新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。由此,本发明在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
为实现上述实施例,本发明实施例提出了一种区块链系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的非生产节点的任务执行速度的提高程序,所述处理器执行所述非生产节点的任务执行速度的提高程序时实现如上述的非生产节点的任务执行速度的提高方法。
根据本发明实施例的区块链系统,通过存储器存储非生产节点的任务执行速度的提高程序,这样非生产节点的任务执行速度的提高程序被处理器执行时实现如上述的非生产节点的任务执行速度的提高方法,由此,在区块生产节点执行用户任务之前就通过对任务的检验,以对任务地址进行处理,从而区分出可并行执行的任务并进行标记,能够大大提高非生产节点执行任务的速度,实现资源有效利用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,包括以下步骤:
所述区块链系统中的区块生产节点获取用户任务,并在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;
所述区块生产节点根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集,并将包含所述地址信息的地址集进行合并以生成新地址集,以及将包含所述地址信息的地址集所对应的任务集合并;
所述区块生产节点将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射,直至达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块,并对所述新区块进行广播;
所述非生产节点在接收到所述新区块后,对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
2.如权利要求1所述的区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,当所述用户任务中的地址信息不属于所述区块链系统中每个地址集时,所述区块生产节点根据所述用户任务中的地址信息重新创建地址集,并将创建的地址集与所述用户任务进行关联映射。
3.如权利要求1或2所述的区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,所述区块生产节点通过接收任务请求,并根据所述任务请求中的公钥对所述任务请求进行解锁以获取所述用户任务。
4.如权利要求1或2所述的区块链系统中非生产节点的任务执行速度的提高方法,其特征在于,所述区块生产节点通过调用智能合约函数中的地址常量以获取所述用户任务中的地址信息。
5.一种计算机可读存储介质,其特征在于,其上存储有区块链系统中非生产节点的任务执行速度的提高程序,该区块链系统中非生产节点的任务执行速度的提高程序被处理器执行时实现如权利要求1-4中任一项所述的区块链系统中非生产节点的任务执行速度的提高方法。
6.一种区块链系统,其特征在于,包括区块生产节点和非生产节点,其中,
所述区块生产节点包括:
任务获取模块,用于获取用户任务;
任务解析模块,用于在执行所述用户任务前对所述用户任务进行解析以获取所述用户任务中的地址信息;
搜索模块,用于根据所述用户任务中的地址信息对所述区块链系统中每个地址集进行遍历搜索以获取包含所述地址信息的地址集;
合并模块,用于将包含所述地址信息的地址集进行合并以生成新地址集,并将包含所述地址信息的地址集所对应的任务集合并,以及将所述用户任务添加到合并后的任务集以生成新任务集,并将所述新地址集与所述新任务集进行关联映射;
打包模块,用于在所述区块生产节点达到生产区块临界点时,对每个所述新任务集中的任务进行一次打包以生成多个任务包,再将多个任务包进行二次打包以生成新区块;
广播模块,用于对所述新区块进行广播;
所述非生产节点包括:
接收模块,用于接收所述新区块;
执行模块,用于将对所述新区块进行一次解包以获得多个任务包,并为每个任务包开启一道线程以并行执行,以及按照每个任务包中待执行任务的时间顺序进行执行。
7.如权利要求6所述的区块链系统,其特征在于,所述合并模块还用于,当所述用户任务中的地址信息不属于所述区块链系统中每个地址集时,根据所述用户任务中的地址信息重新创建地址集,并将创建的地址集与所述用户任务进行关联映射。
8.如权利要求6或7所述的区块链系统,其特征在于,所述任务获取模块通过接收任务请求,并根据所述任务请求中的公钥对所述任务请求进行解锁以获取所述用户任务。
9.如权利要求6或7所述的区块链系统,其特征在于,所述任务解析模块通过调用智能合约函数中的地址常量以获取所述用户任务中的地址信息。
10.一种区块链系统,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的非生产节点的任务执行速度的提高程序,所述处理器执行所述非生产节点的任务执行速度的提高程序时实现如权利要求1-4中任一项所述的非生产节点的任务执行速度的提高方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810928259.0A CN109254837B (zh) | 2018-08-15 | 2018-08-15 | 区块链系统及其中非生产节点的任务执行速度的提高方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810928259.0A CN109254837B (zh) | 2018-08-15 | 2018-08-15 | 区块链系统及其中非生产节点的任务执行速度的提高方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254837A CN109254837A (zh) | 2019-01-22 |
CN109254837B true CN109254837B (zh) | 2021-02-19 |
Family
ID=65050151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810928259.0A Active CN109254837B (zh) | 2018-08-15 | 2018-08-15 | 区块链系统及其中非生产节点的任务执行速度的提高方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254837B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113899866B (zh) * | 2021-12-10 | 2022-03-22 | 佛山绿色发展创新研究院 | 一种基于云服务器的氢气检测系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526624A (zh) * | 2017-07-18 | 2017-12-29 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
CN107833060A (zh) * | 2017-11-13 | 2018-03-23 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
CN108171601A (zh) * | 2016-12-07 | 2018-06-15 | 中国电信股份有限公司 | 区块链溯源追踪方法、装置和系统 |
-
2018
- 2018-08-15 CN CN201810928259.0A patent/CN109254837B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171601A (zh) * | 2016-12-07 | 2018-06-15 | 中国电信股份有限公司 | 区块链溯源追踪方法、装置和系统 |
CN107526624A (zh) * | 2017-07-18 | 2017-12-29 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
CN107833060A (zh) * | 2017-11-13 | 2018-03-23 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109254837A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426408B (zh) | 一种多索引的数据处理方法及装置 | |
CN107918666B (zh) | 一种区块链上的数据同步方法和系统 | |
CN106708565B (zh) | 一种清除apk中无用图片资源的方法及装置 | |
CN104991798B (zh) | 一种虚拟传感器配置方法及装置 | |
CN109165222A (zh) | 一种基于协处理器的HBase二级索引创建方法以及系统 | |
CN110096685A (zh) | 一种设备标识生成方法及装置 | |
CN104392171B (zh) | 一种基于数据关联的自动内存证据分析方法 | |
CN108228770A (zh) | 一种应用文件来源查询的方法及装置 | |
CN104866764B (zh) | 一种基于对象引用图的Android手机恶意软件检测方法 | |
EP2867785A1 (en) | Method and apparatus for virtual machine interoperability | |
CN109254837B (zh) | 区块链系统及其中非生产节点的任务执行速度的提高方法 | |
CN111355816A (zh) | 服务器选取方法、装置、设备及分布式服务系统 | |
CN109669858A (zh) | 程序死锁的测试方法、装置和设备 | |
CN109033365A (zh) | 一种数据处理方法及相关设备 | |
CN105446757A (zh) | 一种数据包的处理方法和设备 | |
CN113568604B (zh) | 风控策略的更新方法、装置及计算机可读存储介质 | |
CN105468412A (zh) | 动态打包方法和装置 | |
CN103927325A (zh) | 一种对url进行分类的方法及装置 | |
CN109410044B (zh) | 区块链系统及其中利用非生产者节点闲置计算资源的方法 | |
CN107239568B (zh) | 分布式索引实现方法及装置 | |
Usman et al. | SmartX multiview visibility framework leveraging open-source software for SDN-cloud playground | |
CN106293862B (zh) | 一种可扩展标记语言xml数据的解析方法和装置 | |
US9201982B2 (en) | Priority search trees | |
CN104932870B (zh) | 一种对虚幻脚本的数据处理方法,及装置 | |
TW201941124A (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 | ||
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 |