预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共30页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113168652A(43)申请公布日2021.07.23(21)申请号202080006241.0G06F21/64(2013.01)(22)申请日2020.08.03(85)PCT国际申请进入国家阶段日2021.05.15(86)PCT国际申请的申请数据PCT/CN2020/1065642020.08.03(71)申请人支付宝(杭州)信息技术有限公司地址310000浙江省杭州市西湖区西溪路556号8层B段801-11(72)发明人田世坤(74)专利代理机构北京博思佳知识产权代理有限公司11415代理人周嗣勇(51)Int.Cl.G06Q40/04(2012.01)权利要求书2页说明书20页附图7页(54)发明名称区块链交易处理系统和方法(57)摘要本文公开了用于处理区块链交易的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括:接收M个区块链交易,并且使用第一线程池的K个线程并行执行所述M个区块链交易中的N个区块链交易。第二线程池专用于访问存储在存储系统中的区块链数据。对于分配给K个线程中的每个线程的区块链交易,每个区块链交易使用一个或多个协程,使得区块链交易通过使用协程被异步地执行。生成区块链区块以包含M个区块链交易,并将该区块链区块添加到存储系统所存储的区块链中。CN113168652ACN113168652A权利要求书1/2页1.一种计算机实现的用于区块链网络的区块链网络节点处理区块链交易的方法,所述方法包括:接收要由所述区块链网络节点执行的M个区块链交易,其中,所述区块链网络节点与在区块链中存储区块链数据的存储系统关联;所述区块链网络节点执行所述M个区块链交易,其中执行所述M个区块链交易包括:从所述M个区块链交易中识别出要异步执行的N个区块链交易,其中N小于或等于M;将所述N个区块链交易分配为由K个线程的第一线程池并行执行,其中,将所述N个区块链交易中的相应NK个区块链交易分配给相应的第K线程;通过所述K个线程并行执行所述N个区块链交易,其中:对于N个区块链交易中的分配给所述第一线程池中第一线程的N1个区块链交易,基于所述N1个区块链交易识别要异步执行的P1个协程,其中P1大于或等于N1;和通过异步地执行所述P1个协程来执行所述N1个区块链交易;在执行所述M个区块链交易后,生成包含所述M个区块链交易的区块链区块;以及将所述区块链区块添加到与所述区块链网络节点关联的所述存储系统内的所述区块链中。2.根据权利要求1所述的计算机实现的方法,其中,异步地执行所述P1个协程包括:使用第二线程池访问存储在所述存储系统中的区块链数据,其中,所述第二线程池不同于所述第一线程池。3.根据权利要求2所述的计算机实现的方法,其中,所述第二线程池专用于所述存储系统。4.根据权利要求2所述的计算机实现的方法,其中,访问存储在所述存储系统中的区块链数据包括以下一项或多项:读取存储在所述存储系统所存储的所述区块链中的数据;以及将新数据写入所述区块链,以及所述区块链数据包括区块数据、状态数据、索引数据或流数据中的一个或多个。5.根据前述任一项权利要求所述的计算机实现的方法,其中,所述M个区块链交易中的一个或多个与所述N个区块链交易同步地执行。6.根据前述任一项权利要求所述的计算机实现的方法,其中,基于所述N1个区块链交易识别要异步执行的P1个协程包括:针对所述N1个区块链交易中的每个交易,识别要异步执行的一个或多个协程。7.根据前述任一项权利要求所述的计算机实现的方法,其中,所述N1个区块链交易包括一系列操作,所述一系列操作包括第一操作和在所述第一操作之后的第二操作,所述第一操作包括访问所述存储系统的输入/输出I/O操作。8.根据权利要求7所述的计算机实现的方法,其中,所述I/O操作包括异步GET请求或异步PUT请求中的至少一个。9.根据权利要求7所述的计算机实现的方法,其中,所述P1个协程包括第一协程和第二协程,并且通过异步地执行所述P1个协程来执行所述N1个区块链交易包括:使用所述第一协程执行所述第一操作;以及2CN113168652A权利要求书2/2页与所述第一操作异步地执行所述第二操作,其中,与所述第一操作异步地执行所述第二操作包括在接收到所述第一操作的执行结果之前使用所述第二协程执行所述第二操作。10.根据权利要求9所述的计算机实现的方法,其中,在接收到所述第一操作的执行结果之前使用所述第二协程执行所述第二操作包括:保存所述第一操作的第一操作上下文,所述第一操作上下文包括所述第一操作的寄存器数据、堆栈指针或程序计数器中的至少一个;以及执行从所述第一操作的第一操作上下文到所述第二操作的第二操作上下文的上下文切换。11.根据权利要求9所述的