System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链领域,尤其涉及一种交易池数据处理方法、系统及装置。
技术介绍
1、区块链系统中,交易上链之前,均存储在交易池中。交易池一方面校验交易并将非法交易拒绝,一方面向区块链系统输送合法交易。交易池校验交易,既要验证交易签名,又要检查交易是否重复、是否已上链,导致向区块链系统提供交易效率非常低。交易池存放客户端发送的合法交易,同时向区块链提供合法交易且删除已上链的交易,数据竞争异常激烈。客户端发送交易后,大量线程阻塞在等待交易验证通过,返回交易哈希,无法空出更多线程发送新交易。可以说,区块链系统的交易池异常忙碌,其性能会直接影响区块链系统性能。
2、针对现有技术中交易池数据处理效率低的问题,目前还没有一个有效的解决方法。
技术实现思路
1、为解决上述问题,本专利技术提供一种交易池数据处理方法、系统及装置,通过缓存客户端发送的交易,及将验证后的交易存入分片后的存储桶中,提高交易池的数据处理性能,以解决现有技术中交易池数据处理效率低的问题。
2、为达到上述目的,本专利技术实施例提供了一种交易池数据处理方法,包括:获取客户端发送的待验证交易,并将所述待验证交易加入缓存队列;对缓存队列中的所述待验证交易依次进行签名验证、重复性验证及上链验证,得到通过全部验证的待上链交易;根据交易哈希将对应待上链交易分入存储桶中;其中,所述存储桶由存储空间分片得到;将待上链交易发送至区块链节点进行上链,上链成功后,从对应的存储桶中删除所述待上链交易。
3、进一步
4、进一步可选的,所述根据交易哈希将对应待上链交易分入存储桶中,包括:统计存储桶的总数量并为每个存储桶分配存储桶序号;计算所述交易哈希与所述总数量的相除结果,根据所述相除结果中的余数确定对应存储桶序号;将所述待上链交易存入所述存储桶序号对应的存储桶中。
5、进一步可选的,所述将所述待验证交易加入缓存队列之后,包括:向所述客户端发送存储响应;客户端收到所述存储响应后发送新的待验证交易。
6、另一方面,本专利技术还提供了一种交易池数据处理系统,包括:缓存模块,用于获取客户端发送的待验证交易,并将所述待验证交易加入缓存队列;验证模块,用于对缓存队列中的所述待验证交易依次进行签名验证、重复性验证及上链验证,得到通过全部验证的待上链交易;分片存储模块,用于根据交易哈希将对应待上链交易分入存储桶中;其中,所述存储桶由存储空间分片得到;上链模块,用于将待上链交易发送至区块链节点进行上链,上链成功后,从对应的存储桶中删除所述待上链交易。
7、进一步可选的,所述验证模块包括:签名验证子模块,用于为所述待验证交易分配一个线程,对所述待验证交易采用ecdsa椭圆曲线数字签名算法验证签名,若签名有效,则签名验证通过;重复性验证子模块,用于判断所述待验证交易的随机数是否与缓存队列中其它待验证交易的随机数重复,若不重复,则重复性验证通过;其中,所述随机数在客户端生成;上链验证子模块,用于判断所述待验证交易的随机数是否存在于上链交易随机数列表中,若不存在,则上链验证通过。
8、进一步可选的,所述分片存储模块包括:统计子模块,用于统计存储桶的总数量并为每个存储桶分配存储桶序号;计算子模块,用于计算所述交易哈希与所述总数量的相除结果,根据所述相除结果中的余数确定对应存储桶序号;存储子模块,用于将所述待上链交易存入所述存储桶序号对应的存储桶中。
9、进一步可选的,该系统还包括:响应模块,用于向所述客户端发送存储响应;发送模块,用于客户端收到所述存储响应后发送新的待验证交易。
10、另一方面,本专利技术还提供了一种交易池数据处理装置,包括上述的交易池数据处理系统。
11、另一方面,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的交易池数据方法。
12、上述技术方案具有如下有益效果:通过缓存队列存放客户端发送的交易,并直接与客户端响应,保证后续验签和客户端发送新交易不再冲突,提高数据处理效率;通过将存储空间进行分片,并将大量的待上链交易分存在不同的存储桶中,减少数据竞争概率;并行对交易进行验签,提高交易验签效率,进一步提高交易池的数据处理速度和区块链系统性能。
本文档来自技高网...【技术保护点】
1.一种交易池数据处理方法,其特征在于,包括:
2.根据权利要求1所述的交易池数据处理方法,其特征在于,所述对缓存队列中的所述待验证交易依次进行签名验证、重复性验证及上链验证,包括:
3.根据权利要求1所述的交易池数据处理方法,其特征在于,所述根据交易哈希将对应待上链交易分入存储桶中,包括:
4.根据权利要求1所述的交易池数据处理方法,其特征在于,所述将所述待验证交易加入缓存队列之后,包括:
5.一种交易池数据处理系统,其特征在于,包括:
6.根据权利要求5所述的交易池数据处理系统,其特征在于,所述验证模块包括:
7.根据权利要求5所述的交易池数据处理系统,其特征在于,所述分片存储模块包括:
8.根据权利要求5所述的交易池数据处理系统,其特征在于,还包括:
9.一种交易池数据处理装置,其特征在于,包括权利要求5-8任一项所述的交易池数据处理系统。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4任一项所述的交易池数据
...【技术特征摘要】
1.一种交易池数据处理方法,其特征在于,包括:
2.根据权利要求1所述的交易池数据处理方法,其特征在于,所述对缓存队列中的所述待验证交易依次进行签名验证、重复性验证及上链验证,包括:
3.根据权利要求1所述的交易池数据处理方法,其特征在于,所述根据交易哈希将对应待上链交易分入存储桶中,包括:
4.根据权利要求1所述的交易池数据处理方法,其特征在于,所述将所述待验证交易加入缓存队列之后,包括:
5.一种交易池数据处理系统,其特征在于,包括:
<...【专利技术属性】
技术研发人员:杨波,兰春嘉,
申请(专利权)人:上海零数众合信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。