数据处理方法、装置及存储介质制造方法及图纸

技术编号:26478370 阅读:29 留言:0更新日期:2020-11-25 19:22
本申请涉及区块链技术领域,尤其涉及一种数据处理方法、装置及存储介质,应用于服务器,所述方法包括:将数据库的读写分离,分别分为读集数据库和写集数据库,并引入缓存的概念;进而,在上述每一线程运行时,可对应访问不同的区间,实现了多线程的数据库访问,有利于减少数据库的访问压力;同时,在进行MVCC验证时,可直接访问上述缓存,不用频繁访问数据库,有利于提高MVCC的验证效率;此外,上述操作仅涉及CPU操作,有利于提高区块链的性能。

【技术实现步骤摘要】
数据处理方法、装置及存储介质
本申请涉及区块链
,具体涉及一种数据处理方法、装置及存储介质。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链应用中,当通过多版本并发控制(Multi-VersionConcurrencyControl,MVCC)实现并发验证时,往往需要多次读取或者写入数据库,造成数据库的访问压力过大,进而导致MVCC验证效率低。
技术实现思路
本申请实施例提供一种数据处理方法、装置及存储介质,有利于提高MVCC的验证效率。本申请实施例第一方面提供了一种数据处理方法,应用于服务器,包括:向第一线程发送第一信息指令,所述第一信息指令用于指示所述第一线程若从读集数据库中读取到第M个区块对应的数据集,则执行通过第一队列以所述第M个区块之前的N个区块对应的数据集生成N个第一任务,其中,所述N为小于或等于M的正整数,所述M为正整数;若确定第二线程的当前任务为获取通过所述第一队列将所述N个区块之前的P个区块对应的数据集生成的P个第一任务时,本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,应用于服务器,包括:/n向第一线程发送第一信息指令,所述第一信息指令用于指示所述第一线程若从读集数据库中读取到第M个区块对应的数据集,则执行通过第一队列以所述第M个区块之前的N个区块对应的数据集生成N个第一任务,其中,所述N为小于或等于M的正整数,所述M为正整数;/n若确定第二线程的当前任务为获取通过所述第一队列将所述N个区块之前的P个区块对应的数据集生成的P个第一任务时,则执行向所述第二线程发送第二信息指令,所述第二信息指令用于指示所述第二线程对所述P个区块进行MVCC验证;并指示所述第二线程将所述P个区块对应的数据集分别写入到写集缓存中,并生成P个写入事件...

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于服务器,包括:
向第一线程发送第一信息指令,所述第一信息指令用于指示所述第一线程若从读集数据库中读取到第M个区块对应的数据集,则执行通过第一队列以所述第M个区块之前的N个区块对应的数据集生成N个第一任务,其中,所述N为小于或等于M的正整数,所述M为正整数;
若确定第二线程的当前任务为获取通过所述第一队列将所述N个区块之前的P个区块对应的数据集生成的P个第一任务时,则执行向所述第二线程发送第二信息指令,所述第二信息指令用于指示所述第二线程对所述P个区块进行MVCC验证;并指示所述第二线程将所述P个区块对应的数据集分别写入到写集缓存中,并生成P个写入事件;并将所述P个写入事件同步到第二队列中,生成P个第三任务,其中,P是小于或等于N的正整数;
若确定第三线程的当前任务为通过写集数据库获取所述第二队列中的Q个第三任务时,则执行向所述第三线程发送第三信息指令,所述第三信息指令用于指示第三线程执行所述Q个第三任务,并获取所述写集缓存中的当前BlockID;当所述Q个第三任务中任意一个第三任务执行完成时,则执行更新所述当前BolckID为所述任意一个第三任务的区块对应的BlockID,其中,Q是小于或等于P的正整数,所述Q个第三任务对应于P个区块之前的Q个区块,每一第三任务对应一个区块。


2.根据权利要求1所述的方法,其特征在于,所述数据集包括:引用计数,所述方法还包括:
若所述区块A对应的引用计数不为0,则执行确定存在区块的数据集与所述区块A的数据集之间有关联,其中,所述区块A为所述P个区块中任意一个;
若所述区块A对应的引用计数为0,则执行确定不存在区块的数据集与所述区块A的数据集之间有关联,则在更新所述当前BlockID为所述区块A的BlockID以后,将所述区块A对应的数据集从所述写集缓存中删除。


3.根据权利要求1或2所述的方法,其特征在于,若所述区块A对应的引用计数不为0,所述方法还包括:
在将所述区块A写入到所述写集缓存之前,若存在区块B的数据集与所述区块A的数据集相关联,则通过所述区块A将所述写集缓存中所述区块B的数据集中的引用计数加1,其中,所述区块B为在所述区块A之前写入所述写集缓存中的任意一个区块。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在执行所述第一线程、所述第二线程或者所述第三线程的任务时触发缓存回收机制,则执行确定所述写集缓存中存在的多个区块和所述多个区块对应的多个引用计数,每一区块对应一个引用计数;
若存在区块C对应的BlockID小于所述当前BolckID,且区块C对应的引用计数为0,则从所述写集缓存中删除所述区块C,其中,所述区块C为所述多个区块中任意一个区块。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述区块C的数据集与区块D对应的数据集相关联,则执行在删除所述区块C以后,将所述区块D对应的引用计数减1,所述区块C和所述区块D为所述写集缓存中任意两个区块。


6.根据权利...

【专利技术属性】
技术研发人员:冯世伟
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1