The invention discloses a data processing method, device, server and computer readable storage medium, which belongs to the field of data processing. The method includes: in the process of receiving transaction data, the received batch transaction data are stored in the block body of different blocks, and multiple blocks containing transaction data are obtained; according to the block height, each block is selected from multiple blocks to be added to one of the transaction buffer pools; for each selection, the transaction data is added to the transaction buffer pool. In the selected block, when the transaction data in the block satisfies the preset conditions, the transaction data in the block is added to the transaction buffer pool, and the transaction data in the block is processed in parallel with other transaction data in the transaction buffer pool. While processing the transaction data in one block, the invention can process the transaction data in other blocks in parallel, which greatly improves the speed of processing the transaction data in blocks by the block chain system, and makes the overall data processing efficiency high.
【技术实现步骤摘要】
数据处理方法、装置、服务器及计算机可读存储介质
本专利技术涉及数据处理领域,尤其涉及一种数据处理方法、装置、服务器及计算机可读存储介质。
技术介绍
区块链技术是一种去中心化的分布式记账技术,区块链是一种按照时间顺序将区块有序链接起来的数据结构。区块链节点(服务器)可以接收终端发送的待处理的交易数据,并对接收到的交易数据进行处理。目前,区块链节点可以基于接收到的交易数据,生成多个初始区块,在该初始区块的区块主体中存储交易数据。进而,区块链节点可以按照顺序,逐个处理该多个初始区块中的交易数据,包括对当前区块(当前处理的初始区块)的交易数据进行验证处理,验证通过后,获取上一区块的区块哈希值和当前区块的区块哈希值,将得到的上述两个哈希值存入当前区块的区块头,从而生成完整区块。然后,区块链节点可以将该完整区块广播给其他区块链节点,以对该完整区块进行共识,共识通过后,区块链节点可以将完整区块添加至区块链中。完成对当前区块的处理后,区块链节点可以对下一个区块执行与当前区块相同的处理过程,以此类推,完成后续区块中交易数据的处理。在实现本专利技术的过程中,专利技术人发现相关技术至少存在以下问题:区块链节点对区块中交易数据的处理过程是串行执行的,区块链节点每次只能对一个区块中的业务处理进行处理,只有在完成一个区块中交易数据的处理后,才会对下一个区块中的交易数据进行处理,整体的数据处理效率低。
技术实现思路
本专利技术实施例提供了一种数据处理方法、装置、服务器及计算机可读存储介质,可以解决相关技术数据处理效率低的问题。所述技术方案如下:一方面,提供了一种数据处理方法,所述方法包括: ...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:在接收交易数据的过程中,将接收到的不同批交易数据存储至不同区块的区块主体中,得到包含交易数据的多个区块;根据区块高度,每次从所述多个区块中选择待将交易数据加入交易缓存池中的一个区块,所述交易缓存池用于缓存并行处理中的交易数据;对于每次选择的区块,当所述区块中的交易数据满足预设条件时,将所述区块中的交易数据加入所述交易缓存池中;将所述区块中的交易数据与所述交易缓存池中的其他交易数据并行处理。
【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:在接收交易数据的过程中,将接收到的不同批交易数据存储至不同区块的区块主体中,得到包含交易数据的多个区块;根据区块高度,每次从所述多个区块中选择待将交易数据加入交易缓存池中的一个区块,所述交易缓存池用于缓存并行处理中的交易数据;对于每次选择的区块,当所述区块中的交易数据满足预设条件时,将所述区块中的交易数据加入所述交易缓存池中;将所述区块中的交易数据与所述交易缓存池中的其他交易数据并行处理。2.根据权利要求1所述的方法,其特征在于,所述不同批交易数据中任一批交易数据的获取过程包括:当等待时长等于预设时长时,将在所述等待时长内接收到的交易数据作为一批交易数据,存储至一个区块的区块主体中,所述等待时长是指当前时刻与上一时刻之间的时长,所述上一时刻是指将上一批交易数据存储至上一个区块的区块主体中的时刻;或,当接收到预设数量的交易数据时,将所述预设数量的交易数据作为一批交易数据,存储至一个区块的区块主体中;或,当所述等待时长小于所述预设时长,且在所述等待时长内接收到的交易数据的数量等于所述预设数量时,将在所述等待时长内接收到的交易数据作为一批交易数据,存储至一个区块的区块主体中,所述上一时刻是指将上一批交易数据存储至上一个区块的区块主体中的时刻;或,当接收到的交易数据的数量小于所述预设数量,且所述等待时长等于所述预设时长时,将在所述等待时长内接收到的交易数据作为一批交易数据,存储至一个区块的区块主体中。3.根据权利要求1所述的方法,其特征在于,所述将所述区块中的交易数据与所述交易缓存池中的其他交易数据并行处理,包括:在通过至少一个第一线程对所述其他交易数据进行验证处理的同时,通过第二线程对所述区块中的交易数据进行验证处理。4.根据权利要求1所述的方法,其特征在于,所述从所述多个区块中,选择待将交易数据加入交易缓存池中的区块之后,所述方法还包括:对于每次选择的区块,当所述区块中的交易数据不满足所述预设条件时,停止选择后续区块,直至所述交易缓存池中的交易数据全部处理完成后,继续执行选择区块、加入所述交易缓存池以及并行处理的步骤。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述交易缓存池中任一区块中的交易数据处理完成后,从所述交易缓存池中删除处理完成的区块中的交易数据;相应地,所述停止选择后续区块之后,所述方法还包括:当所述交易缓存池中不存在交易数据时,继续执行选择区块、加入所述交易缓存池以及并行处理的步骤。6.根据权利要求1所述的方法,其特征在于,所述从所述多个区块中,选择待将交易数据加入交易缓存池中的区块之后,所述方法还包括:当所述区块中的交易数据不满足所述预设条件时,从所述多个区块中选择其他区块;当所述其他区块中的交易数据满足所述预设条件时,执行加入所述交易缓存池以及并行处理的步骤。7.根据权利要求1所述的方法,其特征在于,所述预设条件为所述区块中的交易数据与所述交易缓存池中的交易数据不包含同一未花费的交易输出UTXO。8.一种数据处理装置,其特征在于,所述装置包括:获取模块,用于在接收交易数据的过程中,将接收到的...
【专利技术属性】
技术研发人员:郭锐,李茂材,王宗友,屠海涛,孔利,周开班,杨常青,王楠,丁勇,时一防,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。