掌桥专利:专业的专利平台
掌桥专利
首页

一种基于区块链的数据管理方法、计算机及可读存储介质

文献发布时间:2023-06-19 11:11:32


一种基于区块链的数据管理方法、计算机及可读存储介质

技术领域

本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据管理方法、计算机及可读存储介质。

背景技术

目前,很多票据都通过互联网进行开具或管理等,也就是说,如今很多地方都使用了电子票据,电子票据管理方便,便于流通,因此,电子票据的使用范围越来越广。而如何对电子票据进行存储及获取就成为亟待解决的问题,目前,一般是由票据发布方开具具有票据效用的电子票据,再将该电子票据发送至票据接收方提供的票据接收地址,通过这一方式,电子票据的安全性难以得到保障,而且,电子票据的数量较多,若对电子票据进行管理,需要较多的时间和资源,对电子票据的管理效率较低。

发明内容

本申请实施例提供了一种基于区块链的数据管理方法、装置、计算机及可读存储介质,可以提高对基于区块链的数据管理的效率。

本申请实施例一方面提供了一种基于区块链的数据管理方法,该方法包括:

第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离;

获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;

从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;

若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。

本申请实施例一方面提供了一种基于区块链的数据管理装置,该装置包括:

第一哈希获取模块,用于第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希;

第一距离获取模块,用于获取第一交易哈希与第一节点哈希之间的第一哈希距离;

路由获取模块,用于获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;

集合获取模块,用于从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;

信息验证模块,用于若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。

其中,该装置还包括:

第一节点确定模块,用于若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离为最小距离阈值,则将M个第二业务节点均确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;

第二节点确定模块,用于若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离大于最小距离阈值,则将第一交易数据发送至M个第二业务节点,以使每个第二业务节点通过所维护的第二节点路由表查找目标业务节点,从目标业务节点中获取第一交易验证信息,将第一交易验证信息发送至第一业务节点;目标业务节点是每个第二业务节点从维护的第二节点集合中查找到的,第二节点集合是指在每个第二业务节点所维护的第二节点路由表中,与第二哈希距离对应的节点集合;第二哈希距离为第一交易哈希与第二业务节点的第二节点哈希之间的哈希距离;第一交易验证信息用于检测第一交易数据的数据有效性。

其中,在第一业务节点获取第一交易数据所关联的第一交易哈希方面,该第一哈希获取模块包括:

区块获取单元,用于第一业务节点基于第一交易数据的交易标识,从交易区块链中获取第一交易数据所在的第一交易区块;

哈希获取单元,用于从第一交易区块中获取第一交易数据所关联的第一交易哈希。

其中,该第一距离获取模块,包括:

差异处理单元,用于对第一交易哈希与第一节点哈希进行异或处理,得到差异哈希值;

差异转换单元,用于对差异哈希值进行幂次转换,得到差异哈希值对应的幂指数,将幂指数确定为第一交易哈希与第一节点哈希之间的第一哈希距离。

其中,该信息验证模块,包括:

信息获取单元,用于若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;第一交易验证信息包括电子票据的开票时间戳及票据有效期;

时间比较单元,用于获取系统网络时间,若开票时间戳与系统网络时间之间间隔的时长小于或等于有效使用时长阈值,且票据有效期大于或等于系统网络时间,则确定第一交易数据为有效数据;

无效确定单元,用于若开票时间戳与系统网络时间之间间隔的时长大于有效使用时长阈值,或者票据有效期小于系统网络时间,则确定第一交易数据为无效数据。

其中,该信息验证模块,包括:

验证哈希获取单元,用于若第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的待验证交易验证信息,获取待验证交易验证信息的交易验证哈希;

签名获取单元,用于若第一交易哈希与交易验证哈希相同,则将待验证交易验证信息确定为第一交易验证信息,获取第一交易验证信息中针对第一交易数据的税局签名;

数据验签单元,用于采用税局节点的税局公钥,对第一交易数据进行验签,若验签不通过,则确定第一交易数据为无效数据,若验签通过,则确定第一交易数据为有效数据。

其中,该装置还包括:

第二距离获取模块,用于当接收到第三业务节点发送的第二交易数据的第二交易哈希时,获取第一业务节点的第一节点哈希,获取第二交易哈希与第一节点哈希之间的第三哈希距离;

信息发送模块,用于若第一节点哈希与第二交易哈希相同,或第三哈希距离为最小距离阈值,则基于第二交易哈希从验证区块链中获取第二交易数据的第二交易验证信息,将第二交易验证信息发送至第三业务节点,以使第三业务节点基于第二交易验证信息检测第二交易数据的数据有效性;

信息请求模块,用于若第一节点哈希与第二交易哈希不相同,且第三哈希距离大于最小距离阈值,则从第一节点路由表中查找第三哈希距离所对应的第三节点集合,从第三节点集合中的第四业务节点中获取第二交易数据的第二交易验证信息,将第二交易验证信息发送至第三业务节点,以使第三业务节点基于第二交易验证信息检测第二交易数据的数据有效性;f个目标节点集合包括第三节点集合,f个哈希距离包括第三哈希距离;第四业务节点的第四节点哈希与第一节点哈希之间的第四哈希距离与第三哈希距离相同。

其中,该装置还包括:

集合创建模块,用于获取第一节点哈希的哈希位数,创建f个初始节点集合;f为正整数,f与哈希位数相同,每个初始节点集合分别对应一个哈希距离;

候选获取模块,用于获取与第一业务节点关联的N个候选业务节点,获取N个候选业务节点分别对应的候选节点哈希,获取N个候选节点哈希分别与第一节点哈希之间的候选哈希距离;N为正整数;

集合更新模块,用于基于N个候选业务节点分别对应的候选哈希距离,以及N个候选业务节点分别对应的候选节点哈希,更新f个初始节点集合;

路由表生成模块,用于根据更新后的f个初始节点集合生成第一节点路由表;第一节点路由表包括根据f个初始节点集合得到的f个目标节点集合。

其中,N个候选业务节点包括候选业务节点i;

该集合更新模块,包括:

节点分类单元,用于获取候选业务节点i的候选哈希距离i,基于f个初始节点集合与哈希距离之间的对应关系,确定候选哈希距离i在f个初始节点集合中对应的初始节点集合j;i为正整数,i小于或等于N,j为正整数,j小于或等于f;

节点划分单元,用于将候选业务节点i的候选节点哈希i添加至初始节点集合j,直至得到更新后的f个初始节点集合。

其中,更新后的f个初始节点集合包括更新后的初始节点集合h1;更新后的初始节点集合h1对应哈希距离h1;h1为正整数,h1小于或等于f;

该路由表生成模块,包括:

节点数量获取单元,用于获取更新后的初始节点集合h1中所包括的目标候选业务节点的节点数量;

路由请求单元,用于若更新后的初始节点集合h1的节点数量小于最小节点数量阈值,则向更新后的初始节点集合h1中的目标候选业务节点发送节点获取请求,获取目标候选业务节点基于节点获取请求所发送的目标节点路由表;

待添加获取单元,用于从目标节点路由表中,获取与第一节点哈希之间的哈希距离为哈希距离h1的待添加业务节点;

节点添加单元,用于将待添加业务节点添加至更新后的初始节点集合h1中,得到更新后的初始节点集合h1对应的目标节点集合;

路由表组成单元,用于将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

其中,更新后的f个初始节点集合包括更新后的初始节点集合h2;h2为正整数,h2小于或等于f;

该路由表生成模块,包括:

该节点数量获取单元,还用于获取更新后的初始节点集合h2中所包括的待检测候选业务节点的节点数量;

待删除获取单元,用于若更新后的初始节点集合h2的节点数量大于最大节点数量阈值,则获取待检测候选业务节点的历史节点运行时长,将历史节点运行时长小于稳定时长阈值的待检测候选业务节点确定为第一待删除业务节点;

节点删除单元,用于删除更新后的初始节点集合h2中的第一待删除业务节点,得到更新后的初始节点集合h2对应的目标节点集合;

该路由表组成单元,还用于将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

其中,更新后的f个初始节点集合包括更新后的初始节点集合h3;h3为正整数,h3小于或等于f;

该路由表生成模块,包括:

该节点数量获取单元,还用于获取更新后的初始节点集合h3中所包括的待检测候选业务节点的节点数量;

该待删除获取单元,还用于若更新后的初始节点集合h3的节点数量大于最大节点数量阈值,则向待检测候选业务节点发送节点探测指令,获取待检测候选业务节点针对节点探测指令的指令响应时间,将指令响应时间大于延迟时长阈值的待检测候选业务节点确定为第二待删除业务节点;

该节点删除单元,还用于删除更新后的初始节点集合h3中的第二删除业务节点,得到更新后的初始节点集合h3对应的目标节点集合;

该路由表组成单元,还用于将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

其中,该装置还包括:

指令接收模块,用于接收共识节点发送的信息清理指令,基于信息清理指令获取历史交易验证信息;共识节点用于在第一业务节点未从第二业务节点中获取到第一交易验证信息时,向第一业务节点发送第一交易验证信息;共识节点为全量节点;

信息删除模块,用于获取历史交易验证信息的验证时限,若验证时限小于历史交易验证信息的存储时长,则删除历史交易验证信息。

本申请实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;

处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本申请实施例一方面中的基于区块链的数据管理方法。

本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例一方面中的基于区块链的数据管理方法。

本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例一方面中的各种可选方式中提供的方法。

实施本申请实施例,将具有如下有益效果:

在本申请实施例中,第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离;获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。通过以上过程,可以对交易数据及交易验证信息分别进行存储,使得在基于交易数据进行数据处理时,只需要基于交易数据进行数据处理,保障交易数据本身较为轻量,可以更为快速地基于交易数据进行数据处理。而且,可以基于业务节点的节点哈希及交易数据的交易哈希等进行数据查询,以查找到与交易数据相关的交易验证信息,使得交易验证信息的存储更为规律,对数据的查找效率更高。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本申请实施例提供的一种基于区块链的数据管理的网络交互架构图;

图1b是本申请实施例提供的一种节点交互架构示意图;

图2是本申请实施例提供的一种数据验证场景示意图;

图3是本申请实施例提供的一种基于区块链的数据管理的方法流程图;

图4是本申请实施例提供的一种基于区块链的数据管理的具体方法流程图;

图5是本申请实施例提供了一种路由表生成场景示意图;

图6是本申请实施例提供的一种目标业务节点确定场景示意图;

图7是本申请实施例提供的一种票据管理网络架构图;

图8是本申请实施例提供的一种基于区块链的数据管理装置示意图;

图9是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先,对本申请实施例中提到的区块链、区块、链及共识机制进行介绍。

1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中节点提议添加一个新的区块,必须经过共识机制对区块达成确认。

2、区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识。具体的,对于区块链来说,每次写入数据,即上述的交易过程,就是创建一个区块。

3、链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。

4、共识机制:通过特殊节点的投票,在很短的时间内完成对交易的验证和确认,目标是使所有的诚实节点保存一致的区块链式图。

具体的,一条区块链是由一个个区块组成,每个区块都包括两部分:区块头和区块体,而区块头包括时间戳、当前哈希值和前继哈希值。其中,时间戳用于记录该区块的生成时间;当前哈希值,为该区块的哈希值;前继哈希值,为该区块的前继区块的哈希值;区块体,为该区块存储的交易信息。

在本申请实施例中,请参见图1a,图1a是本申请实施例提供的一种基于区块链的数据管理的网络交互架构图。其中,该数据管理网络可以认为是一个区块链网络,该区块链网络包括见证网络(也可以称为业务网络)101、路由代理层102及共识网络103等。其中,该见证网络101包括至少两个业务节点,如业务节点10a、业务节点10b、业务节点10c、业务节点10d、业务节点10e、业务节点10f、业务节点10g及业务节点10h等,各个业务节点之间可以进行数据交互;该共识网络103可以包括至少两个共识节点,如共识节点10i、共识节点10j、共识节点10k、共识节点10m、共识节点10n、共识节点10p、共识节点10q及共识节点10r等,各个共识节点之间可以进行数据交互;其中,见证网络101中的业务节点可以通过路由代理层102,访问共识网络103,共识网络103中的共识节点可以通过路由代理层102向见证网络101发送消息等。

其中,该见证网络101中的业务节点用于进行业务执行,可以通过身份认证等方式从共识网络103中获取区块头数据及部分授权可见的区块数据等;该共识网络103中的共识节点可以对区块进行共识上链,向见证网络101中的业务节点发送数据等。可选的,该见证网络101与共识网络103可以处于相同的网络环境下,如见证网络101与共识网络103均处于联盟网络中等;或者,该见证网络101与共识网络103可以处于不同的网络环境下,如,见证网络101处于公有网络中,而共识网络103处于私有网络中等,在此不做限制。可选的,当共识网络103处于私有网络中时,数据交互有共识网络103中的共识机制保障安全,可以不增加额外的身份管理和网络控制等,其中,为提高数据安全性,也可以对共识网络103中的数据交互进行进一步地安全验证,如身份管理及网络控制等。可选的,也可以不考虑该共识网络103所处的网络环境,对共识网络103中的数据交互进行进一步安全验证,如身份管理及网络控制等,在此不做限制。

进一步地,可以参见图1b,图1b是本申请实施例提供的一种节点交互架构示意图。如图1b所示,见证网络中的业务节点维护有节点路由表,该节点路由表中包括该节点路由表所属业务节点维护的其他业务节点,各个业务节点之间可以进行数据交互,例如,业务节点A中维护有节点路由表A,该节点路由表A中包括业务节点A所维护的业务节点,该业务节点A与该业务节点A所维护的业务节点均属于见证网络。具体的,第一业务节点104中包括第一节点路由表105,第一业务节点104获取到第一交易数据,可以获取该第一交易数据的第一交易哈希,获取第一业务节点的第一节点哈希,获取该第一交易哈希与第一节点哈希之间的第一哈希距离。其中,该第一业务节点104为见证网络中的任意一个业务节点,该第一节点路由表105中包括f个目标节点集合与f个哈希距离的映射关系,可以认为,一个目标节点集合对应一个哈希距离,f为正整数。第一业务节点104可以基于第一节点路由表105中的映射关系,获取第一哈希距离所对应的第一节点集合106,该第一节点集合106对应M个第二业务节点,如业务节点1061及业务节点1062等,该M个第二业务节点属于见证网络。第一业务节点104可以从M个第二业务节点中获取与第一交易数据相关联的第一交易验证信息,进一步地,若第一业务节点104未从M个第二业务节点中获取到与第一交易数据相关联的第一交易验证信息,则可以从共识网络107所包括的共识节点中获取与第一交易数据相关联的第一交易验证信息,该共识网络107中包括至少两个共识节点,如共识节点1071、共识节点1072、共识节点1073及共识节点1074等,该共识网络107中的共识节点可以认为是全量节点,也就是说,若第一业务节点104未从M个第二业务节点中获取到与第一交易数据相关联的第一交易验证信息,则可以从共识网络107所包括的任意一个共识节点中获取与第一交易数据相关联的第一交易验证信息。

具体的,可以参见图2,图2是本申请实施例提供的一种数据验证场景示意图。如图2所示,第一业务节点201获取第一交易数据,获取该第一交易数据的第一交易哈希,获取第一业务节点201的第一节点哈希,可选的,该第一交易哈希与第一节点哈希的获取方式可以是相同的,即,采用相同的哈希算法,获取第一交易数据的第一交易哈希及第一业务节点201的第一节点哈希,以使得第一交易哈希与第一节点哈希的位数相同,可以基于第一交易哈希查找存储与第一交易数据相关联的第一交易验证信息的业务节点,提高数据管理的规范性及规律化。第一业务节点201可以获取第一交易哈希与第一节点哈希之间的第一哈希距离,获取维护的第一节点路由表202,该第一节点路由表202包括f个目标节点集合,每个目标节点集合对应一个哈希距离,即该第一节点路由表202还包括f个哈希距离。例如,该第一节点路由表202包括目标节点集合1与目标节点集合1对应的哈希距离1、目标节点集合2与目标节点集合2对应的哈希距离2、…以及目标节点集合f与目标节点集合f对应的哈希距离f。第一业务节点201从第一节点路由表202中获取第一哈希距离对应的目标节点集合,将该第一哈希距离对应的目标节点集合记作第一节点集合,该f个哈希距离包括第一哈希距离。假定该第一节点集合203包括M个第二业务节点的第二节点哈希,该M个第二业务节点可以包括第二业务节点2031、第二业务节点2032及第二业务节点2033等。

第一业务节点201可以基于M个第二业务节点确定目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性。其中,目标业务节点可以认为是存储第一交易验证信息的业务节点,也就是说,目标业务节点是对存储第一交易验证信息的业务节点的一种名称,并不指示实际的某个节点。具体的,第一业务节点201可以从M个第二业务节点中,获取第二节点哈希与第一交易哈希相同的第二业务节点,作为目标业务节点;或者,也可以直接将M个第二业务节点均作为目标业务节点;或者,可以获取第一哈希距离与最小距离阈值的距离匹配关系,基于该距离匹配关系及M个第二业务节点,确定目标业务节点。将第一交易数据与第一交易验证信息分别进行存储,使得在执行第一交易数据对应的交易业务时,只会得到基本的第一交易数据,可以保障轻量级高效地实现第一交易数据对应的交易业务。同时基于交易数据的交易验证信息的交易哈希与业务节点的节点哈希,对交易数据相关的交易验证信息进行存储,以及对交易验证信息进行查找,提高了对数据的查找效率。

可以理解的是,本申请实施例中所提及的业务节点可以是一种计算机设备,本申请实施例中的计算机设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(Augmented Reality/Virtual Reality, AR/VR)设备、头盔显示器、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,MID)等。其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(Content Delivery Network, CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

进一步地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据管理的方法流程图。如图3所示,在图3所描述的方法实施例中,该基于区块链的数据管理过程包括如下步骤:

步骤S301,第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离。

在本申请实施例中,第一业务节点获取到第一交易数据,可以获取该第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,可选的,该第一交易哈希及第一节点哈希的生成方式可以相同,即采用相同的哈希算法。第一业务节点可以获取第一交易哈希与第一节点哈希之间的第一哈希距离,具体的,第一业务节点可以获取第一交易哈希与第一节点哈希之间的哈希相似度,将该哈希相似度所对应的距离,确定为第一交易哈希与第一节点哈希之间的第一哈希距离,例如,每个哈希距离均对应一个距离范围,将该哈希相似度所属的距离范围对应的哈希距离,确定为第一交易哈希与第一节点哈希之间的第一哈希距离;或者,第一业务节点可以将第一交易哈希与第一节点哈希进行哈希差值处理,根据哈希差值处理结果确定第一交易哈希与第一节点哈希之间的第一哈希距离等,其中,该哈希差值处理可以是用于获取第一交易哈希与第一节点哈希的差值的方法,如异或处理或差值计算等。

其中,该第一交易数据可以是电子票据或游戏数据等,在此不做限制。

步骤S302,获取第一节点路由表。

在本申请实施例中,第一业务节点获取维护的第一节点路由表,该第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系,f为正整数,一个目标节点集合对应一个哈希距离。其中,见证网络包括至少两个业务节点,每个业务节点都可以维护有一个节点路由表,该节点路由表包括f个节点集合与f个哈希距离的映射关系,可选的,不同业务节点对哈希距离的划分方式可以相同,即,不同业务节点所维护的节点路由表中包括的f个哈希距离可以是相同的,可以使得对业务节点的管理维护更为规律化,使得不同业务节点之间的数据交互更为便利。

步骤S303,从第一节点路由表中查找第一哈希距离所对应的第一节点集合,第一节点集合包括M个第二业务节点的第二节点哈希。

在本申请实施例中,第一业务节点可以基于f个目标节点集合与f个哈希距离的映射关系,从第一节点路由表中查找第一哈希距离所对应的第一节点集合,f个哈希距离包括第一哈希距离,f个目标节点集合包括第一哈希距离对应的第一节点集合。其中,该第一节点集合可以包括M个第二业务节点的第二节点哈希,该第一节点路由表可以表示第一业务节点维护的业务节点,第一业务节点可以通过第一节点路由表与该第一节点路由表中所指示的业务节点进行数据交互。可选的,第一交易验证信息存储于节点哈希与其第一交易哈希相同或相近的业务节点中,基于第一哈希距离从f个目标节点集合中获取到第一节点集合,该第一节点集合对应第一哈希距离,也就是说,该第一节点集合所对应的M个第二业务节点与第一交易哈希相同或相似,第一业务节点可以从M个第二业务节点中获取与第一交易数据相关联的第一交易验证信息。具体的,第一业务节点可以直接将M个第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;或者,第一业务节点可以先从M个第二业务节点中查找第二节点哈希与第一交易哈希相同的第二业务节点,若从M个第二业务节点中查找到第二节点哈希与第一交易哈希相同的第二业务节点,则执行步骤S304,将该第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;若未从M个第二业务节点中查找到第二节点哈希与第一交易哈希相同的第二业务节点,则第一业务节点可以基于M个第二业务节点,获取与第一交易数据相关联的第一交易验证信息。

步骤S304,若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性。

在本申请实施例中,第一交易哈希为第一交易验证信息的哈希,第一交易数据和第一交易验证信息被分别存储于不同的业务节点。具体的,若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;第一交易验证信息包括电子票据的开票时间戳及票据有效期;获取系统网络时间,若开票时间戳与系统网络时间之间间隔的时长小于或等于有效使用时长阈值,且票据有效期大于或等于系统网络时间,则确定第一交易数据为有效数据;若开票时间戳与系统网络时间之间间隔的时长大于有效使用时长阈值,或者票据有效期小于系统网络时间,则确定第一交易数据为无效数据。

进一步地,若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离为最小距离阈值,则表示该第一节点集合所对应的M个第二业务节点的第二节点哈希与第一交易哈希的相似度较高,可以将M个第二业务节点均确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性,或者,可以将M个第二业务节点中的任意一个第二业务节点作为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息。若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离大于最小距离阈值,则可以认为存在与第一交易哈希的相似度比M个第二业务节点更高的业务节点,第一业务节点可以将第一交易数据发送至M个第二业务节点,以使每个第二业务节点通过所维护的第二节点路由表查找目标业务节点,从目标业务节点中获取第一交易验证信息,将第一交易验证信息发送至第一业务节点;目标业务节点是每个第二业务节点从维护的第二节点集合中查找到的,第二节点集合是指在每个第二业务节点所维护的第二节点路由表中,与第二哈希距离对应的节点集合;第二哈希距离为第一交易哈希与第二业务节点的第二节点哈希之间的哈希距离;第一交易验证信息用于检测第一交易数据的数据有效性。

进一步地,若在见证网络中未获取到第一交易验证信息,则从共识网络中所包括的共识节点中获取该第一交易验证信息。

在本申请实施例中,第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离;获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。通过以上过程,可以对交易数据及交易验证信息分别进行存储,使得在基于交易数据进行数据处理时,只需要基于交易数据进行数据处理,保障交易数据本身较为轻量,可以更为快速地基于交易数据进行数据处理。而且,可以基于业务节点的节点哈希及交易数据的交易哈希等进行数据查询,以查找到与交易数据相关的交易验证信息,使得交易验证信息的存储更为规律,对数据的查找效率更高。

进一步地,请参见图4,图4是本申请实施例提供的一种基于区块链的数据管理的具体方法流程图。如图4所示,该基于区块链的数据管理过程包括如下步骤:

步骤S401,创建f个初始节点集合。

在本申请实施例中,第一业务节点创建f个初始节点集合,f的值是根据哈希距离的数量所确定的。举例来说,第一业务节点可以获取第一节点哈希的哈希位数,创建f个初始节点集合;f为正整数,f与哈希位数相同,每个初始节点集合分别对应一个哈希距离,也就是说,该第一节点哈希的哈希位数与创建的初始节点集合的数量相同,从而可以表示不同的哈希距离所对应的节点集合,即,该哈希距离的数量是基于哈希位数确定的。或者,第一业务节点可以获取距离范围的范围数量,基于该范围数量创建f个初始节点集合,此时,f与范围数量相同,即,此时的哈希距离的数量是基于范围数量确定的,一个距离范围对应一个哈希距离等。可选的,该距离范围可以是基于对应的哈希距离确定的,该哈希距离可以是哈希相似度,也可以是基于哈希差值处理得到的等。

可选的,第一业务节点在基于第一节点哈希的哈希位数,创建f个初始节点集合时,第一业务节点可以获取第一业务节点的第一初始哈希,对第一初始哈希进行二值化处理,将第一初始哈希转换为第一节点哈希,该第一节点哈希可以为二进制格式,第一业务节点获取第一节点哈希的哈希位数,创建f个初始节点集合。可选的,在将第一初始哈希转换为第一节点哈希时,若二值化的第一初始哈希的位数大于哈希匹配阈值,则可以将二值化的第一初始哈希中处于默认位置范围内的数值确定为第一节点哈希,此时,f为默认位数,f可以表示默认位置范围内所包括的数值的位数。

举例来说,请参见图5,图5是本申请实施例提供的一种路由表生成场景示意图。如图5所示,该第一业务节点的第一节点哈希为101,以f为第一节点哈希的哈希位数为例,f为3,第一业务节点可以创建f个初始节点集合,该f个初始节点集合分别对应哈希距离“0”、哈希距离“1”及哈希距离“2”,其中,哈希距离“0”对应距离范围“[1,2)”,哈希距离“1”对应距离范围“[2,4)”,哈希距离“3”对应距离范围“[4,8)”,其中,“[”表示包括在内,“)”表示不包括在内,例如,距离范围“[1,2)”表示位于初始距离“1”至初始距离“2”的距离,且,该距离范围“[1,2)”包括初始距离“1”,而不包括初始距离“2”。其中,该距离范围是基于对应的哈希距离所确定的,例如,哈希距离为0时,该距离范围为“[2

可选的,若该f个初始节点集合是基于哈希相似度确定的,此时,该距离范围可以是指不同的相似度范围,例如,距离范围“0~10%”、距离范围“10%~30%”、距离范围“30%~60%”及距离范围“60%~100%”等,该距离范围也可以是基于其他划分方式,将哈希相似度进行划分得到的,并不限于上述例举的距离范围的这种划分方式。

步骤S402,获取与第一业务节点关联的N个候选业务节点,基于N个候选业务节点更新f个初始节点集合。

在本申请实施例中,第一业务节点获取与第一业务节点关联的N个候选业务节点,获取N个候选业务节点分别对应的候选节点哈希,获取N个候选节点哈希分别与第一节点哈希之间的候选哈希距离;N为正整数。基于N个候选业务节点分别对应的候选哈希距离,以及N个候选业务节点分别对应的候选节点哈希,更新f个初始节点集合。可选的,第一业务节点可以获取N个候选业务节点分别对应的候选节点哈希与第一节点哈希之间的候选哈希相似度,根据N个候选业务节点分别对应的候选哈希相似度所属的距离范围,确定N个候选业务节点分别对应的候选哈希距离,例如,候选业务节点A与第一节点哈希之间的候选哈希相似度为25%,假定该候选相似度25%属于距离范围“10%~30%”,则将距离范围“10%~30%”对应的哈希距离,确定为候选业务节点A与第一节点哈希之间的候选哈希距离。或者,第一业务节点可以将N个候选业务节点分别对应的候选节点哈希与第一节点哈希进行哈希差值处理,根据哈希差值处理结果,确定N个候选业务节点分别对应的候选哈希距离,其中,该哈希差值处理可以是用于获取第一交易哈希与第一节点哈希的差值的方法,如异或处理或差值计算等。

具体的,该N个候选业务节点包括候选业务节点i,i为正整数。在基于N个候选业务节点分别对应的候选哈希距离,以及N个候选业务节点分别对应的候选节点哈希,更新f个初始节点集合时,第一业务节点可以获取候选业务节点i的候选哈希距离i,基于f个初始节点集合与哈希距离之间的对应关系,确定候选哈希距离i在f个初始节点集合中对应的初始节点集合j;i为正整数,i小于或等于N,j为正整数,j小于或等于f;将候选业务节点i的候选节点哈希i添加至初始节点集合j,直至得到更新后的f个初始节点集合。

如图5所示,假定该第一业务节点101获取到N个候选业务节点,该N个候选业务节点包括候选业务节点111、候选业务节点110、候选业务节点100、候选业务节点011、候选业务节点010、候选业务节点001及候选业务节点000等,可选的,该N个候选业务节点与第一业务节点分别对应的节点哈希,可以组成一个二叉树,该二叉树的叶子节点用于表示业务节点,该二叉树的叶子节点到该二叉树的根节点的路径,可以用于表示该叶子节点对应的业务节点的节点哈希,例如,业务节点111对应的叶子节点到根节点的路径,可以表示该业务节点111的节点哈希。可选的,在该二叉树中,不同叶子节点之间所需经过的路径,可以表示该不同叶子节点所对应的业务节点之间的哈希距离。其中,以该哈希距离是基于异或处理得到的为例,该第一业务节点101将第一节点哈希“101”与候选业务节点111的候选节点哈希“111”进行异或处理,得到候选差异哈希值,记作“101⊕111=010”,其中“⊕”表示异或处理,由于异或处理具有“相同为0,不同为1”的特性,因此,可以基于该异或处理结果确定两个业务节点之间的哈希距离。对候选差异哈希值“010”进行幂次转换,得到该候选差异哈希值“010”对应的幂指数,记作“010=2

步骤S403,根据更新后的f个初始节点集合生成第一节点路由表。

在本申请实施例中,第一业务节点可以根据更新后的f个初始节点集合生成第一节点路由表;第一节点路由表包括根据f个初始节点集合得到的f个目标节点集合。

一种情况下,更新后的f个初始节点集合包括更新后的初始节点集合h1;更新后的初始节点集合h1对应哈希距离h1;h1为正整数,h1小于或等于f。第一业务节点可以获取更新后的初始节点集合h1中所包括的目标候选业务节点的节点数量,该初始节点集合h1可以是更新后的f个初始节点集合中的任意一个集合。若更新后的初始节点集合h1的节点数量小于最小节点数量阈值,则向更新后的初始节点集合h1中的目标候选业务节点发送节点获取请求,获取目标候选业务节点基于节点获取请求所发送的目标节点路由表。从目标节点路由表中,获取与第一节点哈希之间的哈希距离为哈希距离h1的待添加业务节点,也就是说,获取目标节点路由表中所维护的业务节点分别与第一节点哈希之间的哈希距离,将目标节点路由表中,与第一节点哈希之间的哈希距离为哈希距离h1的业务节点确定为待添加业务节点。将待添加业务节点添加至更新后的初始节点集合h1中,得到更新后的初始节点集合h1对应的目标节点集合;将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。可选的,若获取到的待添加业务节点的数量与更新后的初始节点集合h1的节点数量之和大于最大节点数量阈值,则可以对该待添加业务节点及更新后的初始节点集合h1中所包括的业务节点进行筛选,根据筛选结果确定组成更新后的初始节点集合h1对应的目标节点集合的业务节点。其中,对该待添加业务节点及更新后的初始节点集合h1中所包括的业务节点的筛选方式,包括但不限于基于待添加业务节点及更新后的初始节点集合h1中所包括的业务节点分别对应的历史节点运行时长进行筛选,或者基于待添加业务节点及更新后的初始节点集合h1中所包括的业务节点分别对应的指令响应时长进行筛选。通过对更新后的f个初始节点集合进行业务节点添加,以保障第一业务节点最终得到的第一节点路由表中的各个目标节点集合,均可以维护足够多的业务节点,使得第一业务节点在基于第一节点路由表进行数据存储或数据查找时,可以获取到任意一个哈希距离所对应的业务节点,从而提高数据管理的效率。

一种情况下,更新后的f个初始节点集合包括更新后的初始节点集合h2;h2为正整数,h2小于或等于f。第一业务节点可以获取更新后的初始节点集合h2中所包括的待检测候选业务节点的节点数量;若更新后的初始节点集合h2的节点数量大于最大节点数量阈值,则获取待检测候选业务节点的历史节点运行时长,将历史节点运行时长小于稳定时长阈值的待检测候选业务节点确定为第一待删除业务节点,或者,基于历史节点运行时长对待检测候选业务节点进行排序,根据排序结果确定第一待删除业务节点;删除更新后的初始节点集合h2中的第一待删除业务节点,得到更新后的初始节点集合h2对应的目标节点集合;将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

一种情况下,更新后的f个初始节点集合包括更新后的初始节点集合h3;h3为正整数,h3小于或等于f。第一业务节点可以获取更新后的初始节点集合h3中所包括的待检测候选业务节点的节点数量;若更新后的初始节点集合h3的节点数量大于最大节点数量阈值,则向待检测候选业务节点发送节点探测指令,获取待检测候选业务节点针对节点探测指令的指令响应时间,将指令响应时间大于延迟时长阈值的待检测候选业务节点确定为第二待删除业务节点,或者,基于指令响应时间对待检测候选业务节点进行排序,根据排序结果确定第一待删除业务节点,其中,指令响应时间越小,表示对应的待检测候选业务节点的网络性能越好,或者数据处理效率越高;删除更新后的初始节点集合h3中的第二删除业务节点,得到更新后的初始节点集合h3对应的目标节点集合;将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

可选的,当更新后的f个初始节点集合中存在待检测候选业务节点的节点数量大于最大节点数量阈值的待删除节点集合时,可以基于节点性能对该待删除节点集合中的待检测候选业务节点进行筛选,该节点性能包括但不限于待检测候选业务节点的历史节点运行时长、指令响应时间、网络运行状态、节点交互性能、数据查找性能、数据处理性能及空间使用率等。可选的,可以通过性能探测指令,获取待检测候选业务节点的节点性能,如通过性能探测指令“ping”获取待检测候选业务节点的节点性能“历史节点运行时长”等;通过性能探测指令“store”获取待检测候选业务节点的节点性能“数据处理性能”等;通过性能探测指令“Find_Node”获取待检测候选业务节点的节点性能“节点交互性能”等;通过性能探测指令“Find_value”获取待检测候选业务节点的节点性能“数据查找性能”等。通过对第一节点路由表中所维护的业务节点的数量进行限制,使得该第一业务节点在与任意一个哈希距离对应的业务节点存在关联的情况下,减少所维护的业务节点的数量,从而减少所需处理的数据量,进而提高数据处理的效率。

同理,见证网络中的各个业务节点均可以生成节点路由表。

进一步地,第一业务节点在通过上述步骤S401至步骤S403创建了第一节点路由表后,可以基于该第一节点路由表进行数据存储。该数据存储的过程具体如下:

第一业务节点获取第一交易数据及第一交易验证信息,获取第一交易验证信息的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离,查找该第一哈希距离在第一节点路由表中对应的第一节点集合,基于该第一节点集合中所包括的M个第二业务节点,确定目标业务节点。第一业务节点基于第一节点路由表,将第一交易验证信息发送至目标业务节点,以使目标业务节点存储该第一交易验证信息,使得该第一交易验证信息可以存储于节点哈希与该第一交易验证信息的第一交易哈希相似度较高的业务节点中,使得数据管理更为规律。同时,第一业务节点可以将第一交易数据及第一交易验证信息等发送至共识网络,以使共识网络中的共识节点对该第一交易数据及第一交易验证信息进行共识上链。将第一交易数据及第一交易数据的第一交易验证信息分别进行存储,使得在基于第一交易数据执行第一交易数据对应的交易业务时,只需要处理较少的数据,可以提高数据处理的效率。

其中,一种目标确定方式①下,第一业务节点可以直接将第一节点集合中的M个第二业务节点确定为目标业务节点。

一种目标确定方式②下,第一业务节点可以从M个第二业务节点中查找第二节点哈希与第一交易哈希相同的第二业务节点,若查找到,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点。若未查找到第二节点哈希与第一交易哈希相同的第二业务节点,则基于M个第二业务节点确定目标业务节点。具体的,在基于M个第二业务节点确定目标业务节点时,第一业务节点可以将M个第二业务节点确定为目标业务节点。或者,第一业务节点可以检测该第一哈希距离是否为最小距离阈值,若第一哈希距离为最小距离阈值,则将M个第二业务节点确定为目标业务节点;若第一哈希距离大于最小距离阈值,则向M个第二业务节点发送第一交易验证信息,每个第二业务节点可以基于所维护的第二节点路由表查找目标业务节点。

可选的,当第一哈希距离大于最小距离阈值时,可以进行k次迭代,直至查找到目标业务节点,k为正整数,k可以是默认迭代次数,也可以是基于实际的查找情况所确定的,例如,k为2时,第一业务节点未确定目标业务节点时,将第一交易验证信息发送至M个第二业务节点,每个第二业务节点基于第一交易哈希与第二业务节点的第二节点哈希之间的哈希距离,获取第二节点集合,此时,由于k为2,则不论该第二节点集合对应的第二哈希距离是否为最小距离阈值,均从第二节点集合中所包括的业务节点中确定目标业务节点,其中,第二哈希距离为第一交易哈希与第二业务节点的第二节点哈希之间的哈希距离;或者,k可以是基于实际的查找情况所确定的,也就是说,第一业务节点在未确定目标业务节点时,向M个第二业务节点发送第一交易验证信息,若M个第二业务节点仍未确定目标业务节点,则每个第二业务节点可以基于所维护的第二节点路由表,向第二哈希距离对应的第二节点集合中的业务节点发送第一交易验证信息,…,直至确定目标业务节点,此时,该目标业务节点位于最后一次迭代时,最小距离阈值在所匹配的节点路由表中对应的节点集合。

举例来说,请参见图6,图6是本申请实施例提供的一种目标业务节点确定场景示意图。如图6所示,以k是基于实际的查找情况所确定的为例,第一业务节点601未确定目标业务节点,基于第一节点路由表602,向M个第二业务节点发送第一交易验证信息,M个第二业务节点包括第二业务节点6031、第二业务节点6032及第二业务节点6033等。每个第二业务节点基于所维护的第二节点路由表查找目标业务节点,如第二业务节点6031所维护的第二节点路由表6041、第二业务节点6032所维护的第二节点路由表6042及第二业务节点6033所维护的第二节点路由表6043等。若第二业务节点未确定目标业务节点,则每个第二业务节点基于所维护的第二节点路由表,向第二哈希距离对应的第二节点集合中的业务节点发送第一交易验证信息,如第二业务节点6031所维护的第二节点路由表6041中,第二节点集合对应的业务节点6051及业务节点6052等,第二业务节点6032所维护的第二节点路由表6042中,第二节点集合对应的业务节点6053及业务节点6054等,第二业务节点6033所维护的第二节点路由表6043中,第二节点集合对应的业务节点6055及业务节点6056等,其中,业务节点6051维护有节点路由表6061,业务节点6052维护有节点路由表6062,…,业务节点6056维护有节点路由表6066;…,直至确定目标业务节点。可选的,由于不同的业务节点所维护的节点路由表中可能存在相同的业务节点,因此,在业务节点接收到第一交易验证信息时,可以获取节点查找状态,若节点查找状态为节点获取状态,则不查找目标业务节点,节点获取状态用于表示该业务节点已经查找过目标业务节点;若该节点查找状态为节点未获取状态,则基于所维护的节点路由表查找目标业务节点。

进一步地,当第一业务节点接收到针对第一交易数据的检测请求时,可以执行步骤S404至步骤S408。

步骤S404,第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离。

在本申请实施例中,该第一交易数据可以存储于区块链中,第一业务节点可以基于第一交易数据的交易标识,从交易区块链中获取第一交易数据所在的第一交易区块;从第一交易区块中获取第一交易数据所关联的第一交易哈希。进一步地,第一业务节点在获取第一交易哈希与第一节点哈希之间的第一哈希距离时,可以基于生成第一节点路由表时的哈希距离的确定方式,获取第一交易哈希与第一节点哈希之间的第一哈希距离。例如,该哈希距离的确定方式为基于哈希相似度确定,则第一业务节点可以获取第一交易哈希与第一节点哈希之间的哈希相似度,将该哈希相似度所对应的距离,确定为第一交易哈希与第一节点哈希之间的第一哈希距离。或者,该哈希距离的确定方式为基于哈希差值处理的确定方式,则第一业务节点可以对第一交易哈希与第一节点哈希进行哈希差值处理,根据哈希差值处理结果,确定第一交易哈希与第一节点哈希之间的第一哈希距离。其中,该哈希差值处理可以是用于获取第一交易哈希与第一节点哈希的差值的方法,如异或处理或差值计算等。以异或处理为例,第一业务节点可以对第一交易哈希与第一节点哈希进行异或处理,得到差异哈希值;对差异哈希值进行幂次转换,得到差异哈希值对应的幂指数,将幂指数确定为第一交易哈希与第一节点哈希之间的第一哈希距离。具体的,可以参见步骤S402中候选哈希距离的确定方式。

步骤S405,获取第一节点路由表。

在本申请实施例中,该第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数。具体可以参见图3中步骤S302所示具体描述。

步骤S406,从第一节点路由表中查找第一哈希距离所对应的第一节点集合,第一节点集合包括M个第二业务节点的第二节点哈希。

在本申请实施例中,第一业务节点从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数。具体可以参见图3中步骤S303所示具体描述。

步骤S407,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息。

在本申请实施例中,第一业务节点可以基于数据存储过程中所使用的目标确定方式,确定目标业务节点。例如,在该目标确定方式①下,第一业务节点将M个第二业务节点确定为目标业务节点。在目标确定方式②下,第一业务节点可以从M个第二业务节点中查找第二节点哈希与第一交易哈希相同的第二业务节点,若查找到,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点。若未查找到第二节点哈希与第一交易哈希相同的第二业务节点,则基于M个第二业务节点确定目标业务节点。

其中,在目标确定方式②下,若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。

具体的,若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;若第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离为最小距离阈值,则将M个第二业务节点均确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离大于最小距离阈值,则将第一交易数据发送至M个第二业务节点,以使每个第二业务节点通过所维护的第二节点路由表查找目标业务节点,从目标业务节点中获取第一交易验证信息,将第一交易验证信息发送至第一业务节点;目标业务节点是每个第二业务节点从维护的第二节点集合中查找到的,第二节点集合是指在每个第二业务节点所维护的第二节点路由表中,与第二哈希距离对应的节点集合;第二哈希距离为第一交易哈希与第二业务节点的第二节点哈希之间的哈希距离;第一交易验证信息用于检测第一交易数据的数据有效性。具体可以参见数据存储过程中的目标确定方式。

进一步地,在从目标业务节点中获取第一交易验证信息时,可以从目标业务节点中获取与第一交易数据相关联的待验证交易验证信息,获取待验证交易验证信息的交易验证哈希,若第一交易哈希与交易验证哈希相同,则将待验证交易验证信息确定为第一交易验证信息。例如,若第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的待验证交易验证信息,获取待验证交易验证信息的交易验证哈希;若第一交易哈希与交易验证哈希相同,则将待验证交易验证信息确定为第一交易验证信息。

步骤S408,基于第一交易验证信息检测第一交易数据的数据有效性。

在本申请实施例中,第一业务节点可以基于第一交易验证信息对第一交易数据进行检测。其中,该第一交易验证信息可以包括电子票据的开票时间戳及票据有效期。第一业务节点可以获取系统网络时间,若开票时间戳与系统网络时间之间间隔的时长小于或等于有效使用时长阈值,且票据有效期大于或等于系统网络时间,则确定第一交易数据为有效数据;若开票时间戳与系统网络时间之间间隔的时长大于有效使用时长阈值,或者票据有效期小于系统网络时间,则确定第一交易数据为无效数据。

或者,第一业务节点可以获取第一交易验证信息中针对第一交易数据的税局签名;采用税局节点的税局公钥,对第一交易数据进行验签,若验签不通过,则确定第一交易数据为无效数据,若验签通过,则确定第一交易数据为有效数据。

可选的,若该第一交易数据为电子票据时,该第一交易验证信息可以包括第一交易数据上链的默克尔树根、第一交易数据的共识信息(如对第一交易数据出块时,各个共识节点对该第一交易数据和区块的签名等)、时间类信息(如开票时间戳及票据有效期等)、票据的附加信息(如开票时的法人状态及票据备注信息等)以及税局业务系统对票据的标注信息等。其中,若第一交易验证信息中包括多个验证标准,则只有第一交易数据满足所有验证标准时,确定第一交易数据为有效数据,该多个验证标准中存在第一交易数据未满足的验证标准时,确定第一交易数据为无效数据。

步骤S409,接收共识节点发送的节点指令,基于该节点指令管理业务数据。

在本申请实施例中,第一业务节点可以接收共识节点发送的节点指令,基于节点指令管理业务数据。例如,该节点指令可以是信息清理指令,第一业务节点可以接收共识节点发送的信息清理指令,基于信息清理指令获取历史交易验证信息;共识节点用于在第一业务节点未从第二业务节点中获取到第一交易验证信息时,向第一业务节点发送第一交易验证信息;共识节点为全量节点。获取历史交易验证信息的验证时限,若验证时限小于历史交易验证信息的存储时长,则删除历史交易验证信息。其中,共识节点发送该信息清理指令时,可以是广播给各个业务节点。

进一步地,当接收到第三业务节点发送的第二交易数据的第二交易哈希时,第一业务节点获取第一业务节点的第一节点哈希,获取第二交易哈希与第一节点哈希之间的第三哈希距离;若第一节点哈希与第二交易哈希相同,或第三哈希距离为最小距离阈值,则基于第二交易哈希从验证区块链中获取第二交易数据的第二交易验证信息,将第二交易验证信息发送至第三业务节点,以使第三业务节点基于第二交易验证信息检测第二交易数据的数据有效性。若第一节点哈希与第二交易哈希不相同,且第三哈希距离大于最小距离阈值,则从第一节点路由表中查找第三哈希距离所对应的第三节点集合,从第三节点集合中的第四业务节点中获取第二交易数据的第二交易验证信息,将第二交易验证信息发送至第三业务节点,以使第三业务节点基于第二交易验证信息检测第二交易数据的数据有效性;f个目标节点集合包括第三节点集合,f个哈希距离包括第三哈希距离;第四业务节点的第四节点哈希与第一节点哈希之间的第四哈希距离与第三哈希距离相同。

可选的,第一业务节点可以基于接收到的业务处理指令,获取第二交易验证信息。例如,若第一业务节点接收到验证数据获取指令,则直接获取第二交易验证信息;若第一业务节点接收到节点确定指令,则基于第一节点路由表查找存储第二交易验证信息的业务节点。

进一步地,可以参见图7,图7是本申请实施例提供的一种票据管理网络架构图。如图7所示,假定该第一交易数据为电子票据,则该票据管理网络包括业务层(即见证网络)、路由代理层及共识网络层等。其中,该业务层可以包括至少两个业务节点,至少两个业务节点用于为不同的使用方提供业务服务,如,电子税局、企业或消费者等。其中,不同的业务节点可以处于相同的网络环境下,也可以处于不同的网络环境下,如,电子税局访问的业务节点可以处于税务专网(也可以认为是一种私有网络),包括但不限于地方税局对应的业务节点等;企业可以访问的业务节点可以处于公有云,包括但不限于开票服务商对应的业务节点、报销服务商对应的业务节点及开票服务商对应的业务节点等;消费者访问的业务节点可以处于私有云,包括但不限于支付服务商对应的业务节点、流转服务商对应的业务节点及开票服务商对应的业务节点等。其中,路由代理层用于连通业务层与共识网络层,包括代理节点,该代理节点可以用于提供认证服务(如身份认证等)、证书缓存、路由服务及点对点服务等。共识网络层包括区块链子网,如核心链1及核心链2等,该核心链包括共识节点,共识节点包括权限合约、节点缓存及共识区块链等。

进一步地,请参见图8,图8是本申请实施例提供的一种基于区块链的数据管理装置示意图。该基于区块链的数据管理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该基于区块链的数据管理装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,该基于区块链的数据管理装置800可以用于图3所对应实施例中的计算机设备,具体的,该装置可以包括:第一哈希获取模块11、第一距离获取模块12、路由获取模块13、集合获取模块14及信息验证模块15。

第一哈希获取模块11,用于第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希;

第一距离获取模块12,用于获取第一交易哈希与第一节点哈希之间的第一哈希距离;

路由获取模块13,用于获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;

集合获取模块14,用于从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;

信息验证模块15,用于若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。

其中,该装置800还包括:

第一节点确定模块16,用于若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离为最小距离阈值,则将M个第二业务节点均确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;

第二节点确定模块17,用于若M个第二业务节点中不存在第二节点哈希与第一交易哈希相同的第二业务节点,且第一哈希距离大于最小距离阈值,则将第一交易数据发送至M个第二业务节点,以使每个第二业务节点通过所维护的第二节点路由表查找目标业务节点,从目标业务节点中获取第一交易验证信息,将第一交易验证信息发送至第一业务节点;目标业务节点是每个第二业务节点从维护的第二节点集合中查找到的,第二节点集合是指在每个第二业务节点所维护的第二节点路由表中,与第二哈希距离对应的节点集合;第二哈希距离为第一交易哈希与第二业务节点的第二节点哈希之间的哈希距离;第一交易验证信息用于检测第一交易数据的数据有效性。

其中,在第一业务节点获取第一交易数据所关联的第一交易哈希方面,该第一哈希获取模块11包括:

区块获取单元111,用于第一业务节点基于第一交易数据的交易标识,从交易区块链中获取第一交易数据所在的第一交易区块;

哈希获取单元112,用于从第一交易区块中获取第一交易数据所关联的第一交易哈希。

其中,该第一距离获取模块12,包括:

差异处理单元121,用于对第一交易哈希与第一节点哈希进行异或处理,得到差异哈希值;

差异转换单元122,用于对差异哈希值进行幂次转换,得到差异哈希值对应的幂指数,将幂指数确定为第一交易哈希与第一节点哈希之间的第一哈希距离。

其中,该信息验证模块15,包括:

信息获取单元151,用于若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息;第一交易验证信息包括电子票据的开票时间戳及票据有效期;

时间比较单元152,用于获取系统网络时间,若开票时间戳与系统网络时间之间间隔的时长小于或等于有效使用时长阈值,且票据有效期大于或等于系统网络时间,则确定第一交易数据为有效数据;

无效确定单元153,用于若开票时间戳与系统网络时间之间间隔的时长大于有效使用时长阈值,或者票据有效期小于系统网络时间,则确定第一交易数据为无效数据。

其中,该信息验证模块15,包括:

验证哈希获取单元154,用于若第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的待验证交易验证信息,获取待验证交易验证信息的交易验证哈希;

签名获取单元155,用于若第一交易哈希与交易验证哈希相同,则将待验证交易验证信息确定为第一交易验证信息,获取第一交易验证信息中针对第一交易数据的税局签名;

数据验签单元156,用于采用税局节点的税局公钥,对第一交易数据进行验签,若验签不通过,则确定第一交易数据为无效数据,若验签通过,则确定第一交易数据为有效数据。

其中,该装置800还包括:

第二距离获取模块18,用于当接收到第三业务节点发送的第二交易数据的第二交易哈希时,获取第一业务节点的第一节点哈希,获取第二交易哈希与第一节点哈希之间的第三哈希距离;

信息发送模块19,用于若第一节点哈希与第二交易哈希相同,或第三哈希距离为最小距离阈值,则基于第二交易哈希从验证区块链中获取第二交易数据的第二交易验证信息,将第二交易验证信息发送至第三业务节点,以使第三业务节点基于第二交易验证信息检测第二交易数据的数据有效性;

信息请求模块20,用于若第一节点哈希与第二交易哈希不相同,且第三哈希距离大于最小距离阈值,则从第一节点路由表中查找第三哈希距离所对应的第三节点集合,从第三节点集合中的第四业务节点中获取第二交易数据的第二交易验证信息,将第二交易验证信息发送至第三业务节点,以使第三业务节点基于第二交易验证信息检测第二交易数据的数据有效性;f个目标节点集合包括第三节点集合,f个哈希距离包括第三哈希距离;第四业务节点的第四节点哈希与第一节点哈希之间的第四哈希距离与第三哈希距离相同。

其中,该装置800还包括:

集合创建模块21,用于获取第一节点哈希的哈希位数,创建f个初始节点集合;f为正整数,f与哈希位数相同,每个初始节点集合分别对应一个哈希距离;

候选获取模块22,用于获取与第一业务节点关联的N个候选业务节点,获取N个候选业务节点分别对应的候选节点哈希,获取N个候选节点哈希分别与第一节点哈希之间的候选哈希距离;N为正整数;

集合更新模块23,用于基于N个候选业务节点分别对应的候选哈希距离,以及N个候选业务节点分别对应的候选节点哈希,更新f个初始节点集合;

路由表生成模块24,用于根据更新后的f个初始节点集合生成第一节点路由表;第一节点路由表包括根据f个初始节点集合得到的f个目标节点集合。

其中,N个候选业务节点包括候选业务节点i;

该集合更新模块23,包括:

节点分类单元231,用于获取候选业务节点i的候选哈希距离i,基于f个初始节点集合与哈希距离之间的对应关系,确定候选哈希距离i在f个初始节点集合中对应的初始节点集合j;i为正整数,i小于或等于N,j为正整数,j小于或等于f;

节点划分单元232,用于将候选业务节点i的候选节点哈希i添加至初始节点集合j,直至得到更新后的f个初始节点集合。

其中,更新后的f个初始节点集合包括更新后的初始节点集合h1;更新后的初始节点集合h1对应哈希距离h1;h1为正整数,h1小于或等于f;

该路由表生成模块24,包括:

节点数量获取单元241,用于获取更新后的初始节点集合h1中所包括的目标候选业务节点的节点数量;

路由请求单元242,用于若更新后的初始节点集合h1的节点数量小于最小节点数量阈值,则向更新后的初始节点集合h1中的目标候选业务节点发送节点获取请求,获取目标候选业务节点基于节点获取请求所发送的目标节点路由表;

待添加获取单元243,用于从目标节点路由表中,获取与第一节点哈希之间的哈希距离为哈希距离h1的待添加业务节点;

节点添加单元244,用于将待添加业务节点添加至更新后的初始节点集合h1中,得到更新后的初始节点集合h1对应的目标节点集合;

路由表组成单元245,用于将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

其中,更新后的f个初始节点集合包括更新后的初始节点集合h2;h2为正整数,h2小于或等于f;

该路由表生成模块24,包括:

该节点数量获取单元241,还用于获取更新后的初始节点集合h2中所包括的待检测候选业务节点的节点数量;

待删除获取单元246,用于若更新后的初始节点集合h2的节点数量大于最大节点数量阈值,则获取待检测候选业务节点的历史节点运行时长,将历史节点运行时长小于稳定时长阈值的待检测候选业务节点确定为第一待删除业务节点;

节点删除单元247,用于删除更新后的初始节点集合h2中的第一待删除业务节点,得到更新后的初始节点集合h2对应的目标节点集合;

该路由表组成单元245,还用于将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

其中,更新后的f个初始节点集合包括更新后的初始节点集合h3;h3为正整数,h3小于或等于f;

该路由表生成模块24,包括:

该节点数量获取单元241,还用于获取更新后的初始节点集合h3中所包括的待检测候选业务节点的节点数量;

该待删除获取单元246,还用于若更新后的初始节点集合h3的节点数量大于最大节点数量阈值,则向待检测候选业务节点发送节点探测指令,获取待检测候选业务节点针对节点探测指令的指令响应时间,将指令响应时间大于延迟时长阈值的待检测候选业务节点确定为第二待删除业务节点;

该节点删除单元247,还用于删除更新后的初始节点集合h3中的第二删除业务节点,得到更新后的初始节点集合h3对应的目标节点集合;

该路由表组成单元245,还用于将更新后的f个初始节点集合分别对应的目标节点集合,组成第一节点路由表。

其中,该装置800还包括:

指令接收模块25,用于接收共识节点发送的信息清理指令,基于信息清理指令获取历史交易验证信息;共识节点用于在第一业务节点未从第二业务节点中获取到第一交易验证信息时,向第一业务节点发送第一交易验证信息;共识节点为全量节点;

信息删除模块26,用于获取历史交易验证信息的验证时限,若验证时限小于历史交易验证信息的存储时长,则删除历史交易验证信息。

本申请实施例提供了一种基于区块链的数据管理装置,该装置可以运行于业务节点中,获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离;获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。通过以上过程,可以对交易数据及交易验证信息分别进行存储,使得在基于交易数据进行数据处理时,只需要基于交易数据进行数据处理,保障交易数据本身较为轻量,可以更为快速地基于交易数据进行数据处理。而且,可以基于业务节点的节点哈希及交易数据的交易哈希等进行数据查询,以查找到与交易数据相关的交易验证信息,使得交易验证信息的存储更为规律,对数据的查找效率更高。

参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,本申请实施例中的计算机设备可以包括:一个或多个处理器901、存储器902和输入输出接口903。该处理器901、存储器902和输入输出接口903通过总线904连接。存储器902用于存储计算机程序,该计算机程序包括程序指令,输入输出接口903用于接收数据及输出数据,如用于业务节点与业务节点之间进行数据交互,或者用于业务节点与共识节点之间进行数据交互;处理器901用于执行存储器902存储的程序指令。

其中,该处理器901可以执行如下操作:

第一业务节点获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离;

获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;

从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;

若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。

在一些可行的实施方式中,该处理器901可以是中央处理单元 (centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器 (digitalsignal processor,DSP)、专用集成电路 (application specific integrated circuit,ASIC)、现成可编程门阵列 (field-programmable gate array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器902可以包括只读存储器和随机存取存储器,并向处理器901和输入输出接口903提供指令和数据。存储器902的一部分还可以包括非易失性随机存取存储器。例如,存储器902还可以存储设备类型的信息。

具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图3中各个步骤所提供的实现方式,具体可参见该图3中各个步骤所提供的实现方式,在此不再赘述。

本申请实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行该图3中所示方法的各个步骤,进行基于区块链的数据管理操作。本申请实施例实现了获取第一交易数据所关联的第一交易哈希,获取第一业务节点的第一节点哈希,获取第一交易哈希与第一节点哈希之间的第一哈希距离;获取第一节点路由表;第一节点路由表包括f个目标节点集合与f个哈希距离的映射关系;f为正整数;从第一节点路由表中查找第一哈希距离所对应的第一节点集合;第一节点集合包括M个第二业务节点的第二节点哈希;f个哈希距离包括第一哈希距离;f个目标节点集合包括第一节点集合;M为正整数;若M个第二业务节点中存在第二节点哈希与第一交易哈希相同的第二业务节点,则将第二节点哈希与第一交易哈希相同的第二业务节点确定为目标业务节点,从目标业务节点中获取与第一交易数据相关联的第一交易验证信息,基于第一交易验证信息检测第一交易数据的数据有效性;第一交易哈希为第一交易验证信息的哈希;第一交易数据和第一交易验证信息被分别存储于不同的业务节点。通过以上过程,可以对交易数据及交易验证信息分别进行存储,使得在基于交易数据进行数据处理时,只需要基于交易数据进行数据处理,保障交易数据本身较为轻量,可以更为快速地基于交易数据进行数据处理。而且,可以基于业务节点的节点哈希及交易数据的交易哈希等进行数据查询,以查找到与交易数据相关的交易验证信息,使得交易验证信息的存储更为规律,对数据的查找效率更高。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行图3中各个步骤所提供的基于区块链的数据管理方法,具体可参见该图3中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。

该计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据管理装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flashcard)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3中的各种可选方式中所提供的方法,实现了对交易数据及交易验证信息分别进行存储,使得在基于交易数据进行数据处理时,只需要基于交易数据进行数据处理,保障交易数据本身较为轻量,可以更为快速地基于交易数据进行数据处理。而且,可以基于业务节点的节点哈希及交易数据的交易哈希等进行数据查询,以查找到与交易数据相关的交易验证信息,使得交易验证信息的存储更为规律,对数据的查找效率更高。

本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程基于区块链的数据管理设备的处理器以产生一个机器,使得通过计算机或其他可编程基于区块链的数据管理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程基于区块链的数据管理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程基于区块链的数据管理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 一种基于区块链的数据管理方法、计算机及可读存储介质
  • 区块链可信数据管理方法、系统及计算机可读存储介质
技术分类

06120112837205