[发明专利]一种区块链中数据处理方法及装置在审
申请号: | 201910452003.1 | 申请日: | 2019-05-28 |
公开(公告)号: | CN110163609A | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 李陈希;石翔;李辉忠;张开翔;范瑞彬 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 子模块 交易数据 缓存队列 区块 并行处理 数据处理 队尾 处理阶段 依赖关系 链系统 广播 金融 | ||
本发明实施例涉及科技金融(Fintech)领域,尤其涉及一种区块链(Block chain)中数据处理方法及装置。本发明实施例适用于具有多个子模块的节点;不同子模块对应于交易数据的不同处理阶段;包括:接收区块链系统中广播的多个交易数据;将多个交易数据在所述多个子模块中并行处理;对于存在依赖关系的第n子模块与第n+1子模块间的并行处理为:第n子模块从第n‑1子模块的缓存队列的队首获取第一交易数据并处理,将处理后的第一交易数据添加至第n子模块的缓存队列的队尾;第n+1子模块从第n子模块的缓存队列的队首获取第二交易数据并处理,将处理后的第二交易数据添加至第n+1子模块的缓存队列的队尾。
技术领域
本发明涉及科技金融(Fintech)领域,尤其涉及一种区块链中数据处理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,区块链(Block chain)技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
目前区块链中节点完成交易后,会在整个网络中进行广播,当区块链其它节点收到交易后,需依次对交易进行处理。其中,对于每个交易的处理过程是串行的,因此,无法有效利用当前多核处理器架构的性能优势,导致节点在网络中接收交易时的吞吐率较低。尤其当区块链系统中交易的数量较大时,这种处理交易的方式耗时较长,会导致新交易来不及被节点处理,进而影响区块链系统的整体性能表现。
发明内容
本申请提供一种区块链中数据处理方法及装置,用以加快节点对数据的处理速度,提升交易吞吐率。
本发明实施例提供的一种区块链中数据处理方法,适用于具有多个子模块的节点;其中,不同子模块对应于交易数据的不同处理阶段;所述方法包括:
接收区块链系统中广播的多个交易数据;
将所述多个交易数据在所述多个子模块中并行处理;其中,对于存在依赖关系的第n子模块与第n+1子模块间的并行处理为:
第n子模块从第n-1子模块的缓存队列的队首获取第一交易数据并处理,将处理后的第一交易数据添加至所述第n子模块的缓存队列的队尾;
第n+1子模块从所述第n子模块的缓存队列的队首获取第二交易数据并处理,将处理后的第二交易数据添加至所述第n+1子模块的缓存队列的队尾;其中,n≥1。
一种可选的实施例中,还包括:
通过管理器接口对新增的子模块进行注册和存储;
接收到节点运行指令后,通过管理器接口启动所述节点中的所有子模块;
接收到节点退出指令后,通过管理器接口停止所述节点中的所有子模块。
一种可选的实施例中,所述接收到节点运行指令后,通过管理器接口启动所述节点中的所有子模块之后,还包括:
所述多个子模块将各自的缓存队列清空。
一种可选的实施例中,所述多个子模块包括输入子模块,解码子模块、验证子模块和输出子模块;
所述输入子模块,用于获取交易数据的交易编码,并将所述交易编码添加至所述输入子模块的缓存队列的队尾;
所述解码子模块,用于从所述输入子模块的缓存队列的队首获取交易编码,并将所述交易编码反序列化解码得到交易对象;将所述交易对象存入节点内存中,并将所述交易对象的内存地址添加至所述解码子模块的缓存队列的队尾;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910452003.1/2.html,转载请声明来源钻瓜专利网。