[发明专利]一种并行化事务执行器的使用方法有效
申请号: | 201811486612.0 | 申请日: | 2018-12-06 |
公开(公告)号: | CN109684050B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 王学东;陈永滔 | 申请(专利权)人: | 成都佰纳瑞信息技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 杜志兰 |
地址: | 610000 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并行 事务 执行 使用方法 | ||
1.一种并行化事务执行器的使用方法,其特征在于,所述事务执行器将事务池安装预置策略进行分配,并将分配的事务组交由并行的事务执行器执行,所述使用方法包括如下步骤:
S1:事务分组,所有新增事务由事务池进行统一管理,所述事务池根据预置策略进行事务分组,所述预置策略由配置指定或者二次开发接口指定;
S2:创建事务执行器,启动监视器进程和事务收集器,根据所述预置策略创建多个事务执行器,所述事务执行器抽取与所述事务执行器对应的事务组,然后由所述事务执行器执行对应事务;
S3:并行执行事务,多个所述事务执行器同时执行事务,并且所述事务执行器接受所述监视器进程的巡检,所述事务执行器中断或失败时,监视器重新启动一个新的执行器并继续执行未完成的工作;
S4:收集运行结果,所述事务收集器收集所述事务执行器的结果集,并且所述事务收集器根据原始事务列表对所述结果集进行对应排序;
S5:事务提取,当区块链需要对所述事务进行验证或者计算时,调用所述事务池中完成的结果,所述结果包括事务和结果集;
所述S3的具体操作步骤如下:
S31:所述事务执行器对所述事务组中的事务按顺序执行;
S32:所有所述事务执行器每隔一段时间T向所述监视器进程发送心跳包,所述心跳包包括当前资源使用情况和执行进度;
S33:所述监视器进程记录每一个心跳包;若下一个时刻T未收到所述事务执行器E1传来的心跳包,则所述监视器进行再次等待所述时间T,若2T时刻后依然未收到所述事务执行器E1的心跳包,则判定事务执行器E1接收失败,发送“重新发送”命令立即启动一个相同ID的新事务执行器E2,并向所述事务执行器E2发送E1最后一次心跳包内容继续执行;
所述S33的操作方法还包括:
S331:所述事务执行器E2启动后,若所述事务执行器E1恢复工作,所述监视器进程接收到所述事务执行器E1的心跳包时,所述监视器进程根据版本号的判定,向所述事务执行器E1发出“拒绝”命令,所述事务执行器在收到所述“拒绝”命令后清除所有工作并退出;
S332:若监视器进程失败,所述监视器进程每个时间T向主进程发送心跳包,由主进程代替或者读取、记录所述监视器进程工作;
若监视器进程失败,所述S332包括两种处理方式:①所述主进程代替所述监视器进程工作,并广播通知对应事务执行器的所述监视器进程变更,直至下一次人工恢复所述监视器进程或者系统重启;②所述主进程记录所述监视器进程工作,将所述监视器进每次收到的心跳包记录在缓存中,所述监视器进程向所述主进程报告在线状态,主进程直接读取或者使用所述缓存中的数据量;
所述②中的主进程在广播时,所述监视器进程恢复工作,其具体处理方法如下:所述事务执行器向所述监视器进程发送多个心跳包,构建多条心跳线。
2.根据权利要求1所述的并行化事务执行器的使用方法,其特征在于,所述S2的具体操作步骤如下:所有新增事务进入到自管理事务池中进行统一管理,事务池根据所述预置策略进行事务分组,所述事务池准备将所述事务提供给所述事务执行器,所述事务池包括原始事务池和自管理事务池。
3.根据权利要求2所述的并行化事务执行器的使用方法,其特征在于,所述自管理事务池作为所述原始事务池的镜像事务池,所述自管理事务池只负责并发执行时的事务管理工作。
4.根据权利要求1所述的并行化事务执行器的使用方法,其特征在于,所述S2的具体操作步骤如下:
S21:同时启动一个所述监视器进程和一个事务收集器,所述监视器进程负责对所有所述事务执行器进行监控和健康检查,所述监视器进程的自身健康状况由主进程负责检查,所述事务收集器用于对所有事务组在执行完成后的收集工作,所述事务收集器包括原始事务的顺序索引;
S22:所述监视器进程根据所述事务池的分组情况,并发一定数量的事务执行器,并将所述事务执行器的ID和至少一个事务分组的ID绑定;
S23:所述事务执行器根据绑定的所述ID从所述事务池中抽取属于所述事务执行器的事务组,然后所述事务执行器准备执行所述事务组中的事务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都佰纳瑞信息技术有限公司,未经成都佰纳瑞信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811486612.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种程序调用方法
- 下一篇:一种混合式大数据任务异步提交的方法和系统