logo好方法网

基于区块链的数据处理方法、装置、设备及可读存储介质


技术摘要:
本申请实施例公开了一种基于区块链的数据处理方法、装置、设备以及可读存储介质,可以应用于文件存储领域,其中,方法包括:从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值;获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希  全部
背景技术:
区块链网络中的某个节点获取到交易数据时,会将获取到的该交易数据广播至该 区块链网络中的其他节点,以使每个节点的交易池中的交易数据保持一致。但是在网络拥 塞的场景下,广播交易数据的过程中会出现延迟,例如节点A获取到交易数据S时,将其广播 至节点B、…、节点C以及节点D,其中,节点B最先获取到交易数据S,节点C和节点D较晚才获 取到上述交易数据S,即由于延迟的时间不同,每个节点获取到交易数据S的时间不同。 节点A在获取到交易数据S后,可以将上述交易数据S打包生成区块,在区块链网络 通过对该区块的共识后,该区块可以成功上链。此时,节点C可能在该区块成功上链后才获 取到上述交易数据S,所以节点C很可能又会将上述交易数据S进行打包共识,并再次上链, 这样就会出现交易数据S被重复打包和重复上链的情况,进而导致交易数据被重复存储,浪 费了存储资源。
技术实现要素:
本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及可读存储介 质,可以在区块链中上链交易数据的时候,减少存储资源的浪费。 本申请实施例一方面提供一种基于区块链的数据处理方法,包括: 从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值; 获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值 确定上述目标交易数据的上链状态; 若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据; 若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目 标区块,对上述目标区块进行上链处理。 本申请实施例一方面提供一种基于区块链的数据处理方法,包括: 获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据的待检测哈 希值; 获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值 确定上述目标交易数据的上链状态; 若上述目标交易数据的上链状态为已上链状态,则确定上述目标区块共识失败; 若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处 理。 本申请实施例一方面提供一种基于区块链的数据处理装置,包括: 第一获取模块,用于从交易池中获取目标交易数据,生成上述目标交易数据的待 5 CN 111600720 A 说 明 书 2/24 页 检测哈希值; 第二获取模块,用于获取针对已上链的历史区块的区块列表,根据上述区块列表 和上述待检测哈希值确定上述目标交易数据的上链状态; 第一删除模块,用于若上述目标交易数据的上链状态为已上链状态,则删除上述 目标交易数据; 生成区块模块,用于若上述目标交易数据的上链状态为未上链状态,则根据上述 目标交易数据生成目标区块,对上述目标区块进行上链处理。 其中,上述第二获取模块,包括: 获取历史单元,用于获取上述区块列表中的历史区块信息;上述历史区块信息包 括历史哈希值,上述历史哈希值是指针对上述历史区块中的交易数据的哈希值; 确定状态单元,用于将上述历史区块信息中的上述历史哈希值与上述待检测哈希 值进行匹配,根据匹配结果确定上述目标交易数据的上链状态。 其中,上述确定状态单元,包括: 第一确定子单元,用于若上述历史哈希值与上述待检测哈希值相同,则确定上述 目标交易数据的上链状态为上述已上链状态; 第二确定子单元,用于若上述历史哈希值与上述待检测哈希值不相同,则确定上 述目标交易数据的上链状态为上述未上链状态。 其中,上述第一获取模块具体用于从上述交易池中获取上述目标交易数据,将上 述目标交易数据添加至待上链交易序列;上述待上链交易序列包含用于生成上述目标区块 的交易数据; 则上述第一删除模块具体用于若上述目标交易数据的上链状态为上述已上链状 态,则从上述待上链交易序列中删除上述目标交易数据,从上述交易池中删除上述目标交 易数据。 其中,上述生成区块模块,包括: 添加目标单元,用于若上述目标交易数据的上链状态为上述未上链状态,则将上 述目标交易数据添加至待上链交易序列; 生成区块单元,用于根据上述待上链交易序列生成上述目标区块。 其中,上述生成区块单元,包括: 统计数据子单元,用于统计上述待上链交易序列中的交易数据的数量,作为交易 数据数量; 补充数据子单元,用于若上述交易数据数量小于序列数量阈值,则将上述序列数 量阈值与上述交易数据数量之间的数量差值,作为补充数量; 获取补充子单元,用于从上述交易池中获取补充交易数据;上述补充交易数据的 数量等于上述补充数量; 生成区块子单元,用于根据上述补充交易数据以及上述待上链交易序列生成上述 目标区块。 其中,还包括: 第三获取模块,用于当上述目标区块上链完成时,获取上述目标区块的目标区块 信息;上述目标区块信息包括上述目标区块中的交易数据所对应的哈希值; 6 CN 111600720 A 说 明 书 3/24 页 第二删除模块,用于将上述目标区块信息添加至上述区块列表,从上述交易池中 删除上述目标区块中的交易数据。 其中,上述第二删除模块,包括: 确定数量单元,用于确定上述历史区块信息的数量,作为区块信息数量; 添加信息单元,用于若上述区块信息数量小于列表数量阈值,则将上述目标区块 信息添加至上述区块列表; 更新信息单元,用于若上述区块信息数量等于上述列表数量阈值,则获取上述区 块列表中存储时间戳最早的历史区块信息,将上述存储时间戳最早的历史区块信息更新为 上述目标区块信息。 其中,上述第二删除模块,还包括: 获取节点单元,用于当第一系统时间达到第一心跳更新周期时,获取区块链网络 中节点的节点数量; 更新数量单元,用于根据上述节点数量对上述列表数量阈值进行更新,得到更新 后的列表数量阈值;上述节点数量与上述更新后的列表数量阈值之间为正比例关系。 其中,还包括: 第四获取模块,用于当第二系统时间达到第二心跳更新周期时,获取上述区块列 表中的至少两个历史哈希值; 第五获取模块,用于获取上述交易池中的交易数据,生成上述交易池中的交易数 据的待过滤哈希值; 过滤交易模块,用于将上述历史哈希值与上述待过滤哈希值进行对比,根据对比 结果对上述交易池中的交易数据进行过滤处理。 其中,上述过滤交易模块,包括: 确定重复单元,用于当上述历史哈希值与上述待过滤哈希值相同时,则将上述待 过滤哈希值所对应的交易数据确定为重复交易数据; 过滤重复单元,用于从上述交易池中过滤上述重复交易数据。 本申请实施例一方面提供一种基于区块链的数据处理方法,包括: 获取区块模块,用于获取出块节点发送的目标区块,获取上述目标区块中的目标 交易数据的待检测哈希值; 获取列表模块,用于获取针对已上链的历史区块的区块列表,根据上述区块列表 和上述待检测哈希值确定上述目标交易数据的上链状态; 确定失败模块,用于若上述目标交易数据的上链状态为已上链状态,则确定上述 目标区块共识失败; 共识区块模块,用于若上述目标交易数据的上链状态为未上链状态,则对上述目 标区块进行共识处理。 本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口; 上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据 通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行 如本申请实施例中的方法。 本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质 7 CN 111600720 A 说 明 书 4/24 页 存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,以执 行如本申请实施例中的方法。 本申请实施例中通过为区块链网络中的每个节点建立一个用来存储已上链的历 史区块信息的区块列表,来检测从交易池中获取的目标交易数据是否已进行过打包上链。 具体为:当节点生成目标区块时,首先从交易池中获取目标交易数据,然后获取上述目标交 易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据 的上链状态;若上述目标交易数据的上链状态为已上链状态,则节点删除上述目标交易数 据,若上述目标交易数据的上链状态为未上链状态,则节点根据上述目标交易数据生成目 标区块,对上述目标区块进行上链处理。上述可知,当节点将交易数据成功上链时,就将交 易数据的哈希值存储至区块列表中,因此,当下一次出块时,节点首先将从交易池中获取到 的目标交易数据,与该区块列表进行验证,即验证目标交易数据是否属于已上链的历史区 块中的交易数据,若是,则不会出块,若不是,则正常出块,从而可以防止交易数据被重复打 包上链,进而可以减少存储资源的浪费。 附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1是本申请实施例提供的一种系统架构示意图; 图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图; 图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图; 图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图; 图5是本申请实施例提供的一种基于区块链的数据处理的场景示意图; 图6是本申请实施例提供的一种基于区块链的数据处理的场景示意图; 图7a是本申请实施例提供的一种基于区块链的数据处理的场景示意图; 图7b是本申请实施例提供的一种基于区块链的数据处理的场景示意图; 图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图; 图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图; 图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图; 图11是本申请实施例提供的一种计算机设备的结构示意图; 图12是本申请实施例提供的一种计算机设备的结构示意图。
下载此资料需消耗2积分,
分享到:
收藏