The invention provides a parallel transaction executor and its usage method, which can distribute the pending or transaction pool according to a certain strategy and send it to the parallel executor for parallel execution in order to improve execution efficiency and block chain TPS. The usage method is as follows: S1: transaction grouping, transaction pool grouping according to preset strategy; S2: creating transaction grouping; Executor, start monitor process and transaction collector, create multiple transaction executors according to preset policy, transaction executor extracts transaction groups corresponding to transaction executor; S3: parallel execution of transactions, multiple transaction executors execute transactions at the same time, and accept the patrol of monitor process; S4: collection of running results, transaction collector collects the result set of transaction executor, and The result sets are sorted according to the original transaction list; S5: Transaction extraction, when the block chain needs to verify or calculate transactions, calls the results completed in the transaction pool.
【技术实现步骤摘要】
一种并行化的事务执行器及其使用方法
本专利技术涉及区块链事务执行领域,具体而言,涉及一种并行化的事务执行器及其使用方法。
技术介绍
目前的区块链平台大部分采用的是单实例事务执行机制,即在给出的一个待执行事务列表或事务池中,由一个执行器依次对列表中的事务进行执行,得到一个最终的执行结果集合,该事务列表或事务池按照一定的规则生成,列表有序或列表无序,。但是在现有技术方案中,由于区块链平台的执行机制是单实例,所有事务为串行执行,在很大程度上会降低区块链的每秒事务处理量(以下简称TPS)。尤其是在公共区块链上更加明显,例如以太坊,比特币等,因为需要公共区块链网络的每个节点都执行,该事务列表才能获得最终的确认。
技术实现思路
本专利技术的目的在于提供一种并行化的事务执行器及其使用方法,其能够将待执行事务池按照一定策略进行分配,交由多实例执行器进行并行执行,以达到提升执行效率,提高区块链TPS的目的。本专利技术的实施例是这样实现的:一种并行化的事务执行器及其使用方法,事务执行器将事务池安装预置策略进行分配,并将分配的事务组交由并行的事务执行器执行,其使用方法包括如下步骤:S1:事务分组,所有新增事务由事务池进行统一管理,事务池根据预置策略进行事务分组,预置策略由配置指定或者二次开发接口指定;S2:创建事务执行器,启动监视器进程和事务收集器,根据预置策略创建多个事务执行器,事务执行器抽取与事务执行器对应的事务组,然后由事务执行器执行对应事务;S3:并行执行事务,多个事务执行器同时执行事务,并且事务执行器接受监视器进程的巡检;S4:收集运行结果,事务收集器收集事务执行器的结果 ...
【技术保护点】
1.一种并行化的事务执行器及其使用方法,其特征在于,所述事务执行器将事务池安装预置策略进行分配,并将分配的事务组交由并行的事务执行器执行,所述使用方法包括如下步骤:S1:事务分组,所有新增事务由事务池进行统一管理,所述事务池根据预置策略进行事务分组,所述预置策略由配置指定或者二次开发接口指定;S2:创建事务执行器,启动监视器进程和事务收集器,根据所述预置策略创建多个事务执行器,所述事务执行器抽取与所述事务执行器对应的事务组,然后由所述事务执行器执行对应事务;S3:并行执行事务,多个所述事务执行器同时执行事务,并且所述事务执行器接受所述监视器进程的巡检,所述事务执行器中断或失败时,监视器重新启动一个新的执行器并继续执行未完成的工作;S4:收集运行结果,所述事务收集器收集所述事务执行器的结果集,并且所述事务收集器根据原始事务列表对所述结果集进行对应排序;S5:事务提取,当区块链需要对所述事务进行验证或者计算时,调用所述事务池中完成的结果,所述结果包括事务和结果集。
【技术特征摘要】
1.一种并行化的事务执行器及其使用方法,其特征在于,所述事务执行器将事务池安装预置策略进行分配,并将分配的事务组交由并行的事务执行器执行,所述使用方法包括如下步骤:S1:事务分组,所有新增事务由事务池进行统一管理,所述事务池根据预置策略进行事务分组,所述预置策略由配置指定或者二次开发接口指定;S2:创建事务执行器,启动监视器进程和事务收集器,根据所述预置策略创建多个事务执行器,所述事务执行器抽取与所述事务执行器对应的事务组,然后由所述事务执行器执行对应事务;S3:并行执行事务,多个所述事务执行器同时执行事务,并且所述事务执行器接受所述监视器进程的巡检,所述事务执行器中断或失败时,监视器重新启动一个新的执行器并继续执行未完成的工作;S4:收集运行结果,所述事务收集器收集所述事务执行器的结果集,并且所述事务收集器根据原始事务列表对所述结果集进行对应排序;S5:事务提取,当区块链需要对所述事务进行验证或者计算时,调用所述事务池中完成的结果,所述结果包括事务和结果集。2.根据权利要求1所述的并行化的事务执行器及其使用方法,其特征在于,所述S2的具体操作步骤如下:所有新增事务进入到自管理事务池中进行统一管理,事务池根据所述预置策略进行事务分组,所述事务池准备将所述事务提供给所述事务执行器,所述事务池包括原始事务池和自管理事务池。3.根据权利要求2所述的并行化的事务执行器及其使用方法,其特征在于,所述自管理事务池作为所述原始事务池的镜像事务池,所述自管理事务池只负责并发执行时的事务管理工作。4.根据权利要求1所述的并行化的事务执行器及其使用方法,其特征在于,所述S2的具体操作步骤如下:S21:同时启动一个所述监视器进程和一个事务收集器,所述监视器进程负责对所有所述事务执行器进行监控和健康检查,所述监视器进程的自身健康状况由主进程负责检查,所述事务收集器用于对所有事务组在执行完成后的收集工作,所述事务收集器包括原始事务的顺序索引;S22:所述监视器进程根据所述事务池的分组情况,并发启动一定数量的事务执行器,并将所述事务执行器的ID和至少一个事务分组的ID绑定;S23:所述事务执行器根据绑定的所述ID从所述事务池中抽取属于所述事务执行器的事务组,然后所述事务执行器准备执行所述事务组中的事务。5.根据权利要求1所述的并行化的事务执行器及其使用方法,其特征在于,所述S3的具体操作步骤如下:S31:所述事务执行器对所述事务组中的事务按顺序执行;S32:所有所述事务执行器每隔一段时间T向所述监视器进程发送心跳包,所述心跳包包括当前资源使用情况和执行进度;S33:...
【专利技术属性】
技术研发人员:王学东,曹磊,
申请(专利权)人:成都佰纳瑞信息技术有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。