【技术实现步骤摘要】
一种基于区块链系统的数据处理方法及装置
本专利技术涉及金融科技(Fintech)领域,尤其涉及一种基于区块链系统的数据处理方法及装置。
技术介绍
区块链(Blockchain)系统是金融科技(Fintech)领域常用的一种分布式的系统架构,通过利用区块链式的数据结构、分布式的节点共识算法以及密码学的访问技术来完成多个节点之间的交易。区块链系统中可以设置有底层和应用层,底层可以用于存储区块链系统中各个节点之间的交易信息,应用层可以通过与底层通信获取底层中存储的交易信息。具体地说,底层中可以设置有由一个或多个区块构成的区块链,每个区块可以存储区块链系统中发生的一个或多个交易信息(即区块信息);相应地,应用层可以通过获取区块链上区块的区块信息来获取交易信息。然而,若网络环境较差,则应用层与底层的通信可能会存在延时,从而使得获取交易信息时等待的时间较长。为了解决上述问题,应用层中通常可以设置存储设备,存储设备可以与底层中设置的区块链进行数据同步,从而存储区块链中的区块信息;如此,若接收到查询请求,则应用层可以通过获取存储设备中存储的区块信息,快速获取查询请求对应的交易信息。现有技术中实现存储设备与应用层的数据同步的一种方式为:若监听到有新的区块加入底层的区块链,则可以从区块链中获取新加入的区块的区块信息,并将新加入的区块的区块信息存储在存储设备中。然而,若监听到的新的区块包括多个,采用该种方式每次仅可以同步一个新的区块的区块信息,即数据同步所耗费的时间较长,从而使得数据同步的效率较低。综上,目前亟需一种基于区块链系统的数据处理方法,用以提高区块链与存储设备之间数据 ...
【技术保护点】
1.一种基于区块链系统的数据处理方法,其特征在于,所述方法包括:从区块链中获取最新区块的块高以及从存储设备中获取所述存储设备已存储的历史区块的最大块高;确定所述区块链中块高位于所述最新区块的块高和所述最大块高之间的N个目标区块,所述N个目标区块中包括所述最新区块;若所述N大于第一预设阈值,则生成至少两个线程,并使用所述至少两个线程从所述区块链中获取所述N个目标区块的第一区块信息;其中,N≥2;将所述N个目标区块的第一区块信息存储在所述存储设备中,并更新所述存储设备已存储的历史区块的最大块高。
【技术特征摘要】
1.一种基于区块链系统的数据处理方法,其特征在于,所述方法包括:从区块链中获取最新区块的块高以及从存储设备中获取所述存储设备已存储的历史区块的最大块高;确定所述区块链中块高位于所述最新区块的块高和所述最大块高之间的N个目标区块,所述N个目标区块中包括所述最新区块;若所述N大于第一预设阈值,则生成至少两个线程,并使用所述至少两个线程从所述区块链中获取所述N个目标区块的第一区块信息;其中,N≥2;将所述N个目标区块的第一区块信息存储在所述存储设备中,并更新所述存储设备已存储的历史区块的最大块高。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述N小于或等于所述第一预设阈值,则生成第一线程,并使用第一线程按照所述N个目标区块的预设顺序依次获取所述N个目标区块的第一区块信息;所述N个目标区块的预设顺序为根据所述N个目标区块的块高或者所述N个目标区块的优先级确定的。3.根据权利要求1所述的方法,其特征在于,所述从区块链中获取最新区块的块高,包括:从所述区块链中获取第一时刻对应的最新区块的块高和所述区块链中第一时刻发生的交易数量;若所述第一时刻发生的交易数量小于或等于第二预设阈值,则将所述第一时刻对应的最新区块的块高作为所述最新区块的块高;若所述交易数量大于所述第二预设阈值,则在等待预设时间段后,从所述区块链中获取第二时刻对应的最新区块的块高和所述区块链中第二时刻发生的交易数量,若所述第二时刻发生的交易数量小于或等于所述第二预设阈值,则将所述第二时刻对应的最新区块的块高作为所述最新区块的块高;其中,所述预设时间段是根据所述区块链中所述第一时刻之前发生的历史交易的共识时间确定的。4.根据权利要求3所述的方法,其特征在于,所述确定所述区块链中块高位于所述最新区块的块高和所述最大块高之间的N个目标区块之后,使用所述至少两个线程从所述区块链中获取所述N个目标区块的第一区块信息之前,还包括:接收第一查询请求,所述第一查询请求包括第一区块的块高;若所述第一查询信息的优先级高于所述N个目标区块的优先级,则生成第二线程,并使用第二线程从所述区块链中获取所述第一区块的第一区块信息,将所述第一区块的第一区块信息存储在所述存储设备中。5.根据权利要求1所述的方法,其特征在于,所述将所述N个目标区块的第一区块信息存储在所述存储设备中,包括:对所述N个目标区块的第一区块信息进行压缩得到目标信息,将所述目标信息传输给所述存储设备中;若确定所述存储设备接收到所述目标信息,则对所述目标信息进行解析,得到所述N个目标区块的第一区块信息,并将所述N个目标区块的第一区块信息存储在所述存储设备中。6.根据权利要求5所述的方法,其特征在于,所述得到所述N个目标区块的第一区块信息之后,将所述N个目标区块的第一区块信息存储在所述存储设备之前,还包括:按照预设过滤规则对所述N个目标区块的第一区块信息进行过滤,得到所述N个目标区块的第二区块信息;所述预设过滤规则包括以下任意一项或任意多项:过滤全部日志、过滤冗余日志、过滤日志中的预设字段;将所述N个目标区块的第二区块信息存储在所述存储设备中。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述从区块链中获取最新区块的块高以及从存储设备中获取所述存储设备已存储的历史区块的最大块高之前,还包括:接收第二查询请求,所述第二查询请求中包括第二区块的块高;所述更新所述存储设备已存储的历史区块的最大块高之后,还包括:从所述存储设备中获取所述第二区块的第一区块信息。8.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:获取第三查询请求,所述第三查询请求中包括第三区块的块高;若所述历史区块的最大块高小于所述第三区块的块高,则从所述区块链中获取所述第三区块的第一区块信息,并将所述第三区块的第一区块信息存储在所述存储设备中,更新所述存储设备已存储的历史区块的最大块高;若所述历史区块的最大块高大于或等于所述第三区块的块高,则从所述存储设备中获取所述第三区块的第一区块信息。9.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:获取第四查询请求,所述第四查询请求中包括第三时刻;从所述存储设备中获取所述最大历史区块对应的生成时刻;若所述最大历史区块对应的生成时刻早于所述第三时刻,则从所述区块链中获取生成时刻与所述第三时刻相匹配的第四区块的第一区块信息,并将第四区块的第一区块信息存储在所述存储设备中,更新所述存储设备已存储的历史区块的最大块高;若所述最大历史区块对应的生成时刻等于或晚于所述第三时刻,则从所述存储设备中获取所述第四区块的第一区块信息。10.一种基于区块链系统的...
【专利技术属性】
技术研发人员:毛嘉宇,范瑞彬,张开翔,张龙,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。