首页 / 专利库 / 资料储存系统 / 区块链 / 一种区块链状态变更交易追溯的方法及装置

一种链状态变更交易追溯的方法及装置

阅读:990发布:2020-05-08

专利汇可以提供一种链状态变更交易追溯的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 区 块 链 状态变更交易追溯的方法及装置,该方法包括区块链 节点 获取待追溯交易的交易标识,根据所述交易标识,确定出交易标识对应区块链状态,区块链状态包括历史交易hash集合,历史交易hash集合中包括区块链状态发生变化时的交易的hash值,根据历史交易hash集合,确定出交易标识对应的每一笔历史的交易数据。通过在区块链状态中增加区块链状态发生变化时的交易hash值,可以实现快速的查找到历史的交易数据,从而可以解决现有区块链数据通过 智能合约 只能查询到最新状态,无法直接追溯区块中历史 交易记录 的问题,提高历史交易数据的追溯效率。,下面是一种链状态变更交易追溯的方法及装置专利的具体信息内容。

1.一种链状态变更交易追溯的方法,其特征在于,包括:
区块链节点获取待追溯交易的交易标识;
所述区块链节点根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括历史交易hash集合,所述历史交易hash集合中包括所述区块链状态发生变化时的交易的hash值;
所述区块链节点根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据。
2.如权利要求1所述的方法,其特征在于,所述区块链节点根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据,包括:
所述区块链节点根据所述历史交易hash集合中的每个hash值,确定出每个hash值对应的区块;
所述区块链节点从所述每个hash值对应的区块,确定出所述交易标识对应的每一笔历史的交易数据。
3.如权利要求1所述的方法,其特征在于,在所述区块链节点获取待追溯交易的交易标识之前,还包括:
所述区块链节点获取待执行交易的交易标识;
所述区块链节点执行所述待执行交易,将交易数据写入区块;
所述区块链节点在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中的历史交易hash集合中。
4.如权利要求1所述的方法,其特征在于,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
5.如权利要求1至4任一项所述的方法,其特征在于,所述待追溯交易的交易标识是通过部署的智能合约获取的。
6.一种区块链状态变更交易追溯的装置,其特征在于,包括:
获取单元,用于获取待追溯交易的交易标识;
处理单元,用于根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括历史交易hash集合,所述历史交易hash集合中包括所述区块链状态发生变化时的交易的hash值;根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据。
7.如权利要求6所述的装置,其特征在于,所述处理单元具体用于:
根据所述历史交易hash集合中的每个hash值,确定出每个hash值对应的区块;
从所述每个hash值对应的区块,确定出所述交易标识对应的每一笔历史的交易数据。
8.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
在获取待追溯交易的交易标识之前,还包括:
获取待执行交易的交易标识;
执行所述待执行交易,将交易数据写入区块;
在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中的历史交易hash集合中。
9.如权利要求6所述的装置,其特征在于,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
10.如权利要求6至9任一项所述的装置,其特征在于,所述待追溯交易的交易标识是通过部署的智能合约获取的。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5任一项所述的方法。
12.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至5任一项所述的方法。

说明书全文

一种链状态变更交易追溯的方法及装置

技术领域

[0001] 本发明实施例涉及区块链技术领域,尤其涉及一种区块链状态变更交易追溯的方法及装置。

背景技术

[0002] 在区块链电子票据服务系统中,由于电子票据的特殊性,因此区块链电子票据从开票、打印、收票、报销、红冲等状态税局作为监管部需要追溯整个的流程,对于监管恶意开票企业的需求,也需要追溯发票的全流程信息来更进一步对开票企业在发票的各个阶段中的对应的行为进行挖掘分析。但是,在目前的查询区块链上的数据的方案中,仅能获得的最新的区块链状态,而对区块链中的区块链状态变化情况是没有办法获取的,进而无法直接追溯区块中历史交易记录

发明内容

[0003] 本发明实施例提供一种区块链状态变更交易追溯的方法及装置,用以解决现有区块链数据通过智能合约只能查询到最新状态,无法直接追溯区块中历史交易记录的问题。
[0004] 第一方面,本发明实施例提供一种区块链状态变更交易追溯的方法,包括:
[0005] 区块链节点获取待追溯交易的交易标识;
[0006] 所述区块链节点根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括历史交易hash集合,所述历史交易hash集合中包括所述区块链状态发生变化时的交易的hash值;
[0007] 所述区块链节点根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据。
[0008] 上述技术方案中,通过在区块链状态中增加区块链状态发生变化时的交易hash值,可以实现快速的查找到历史的交易数据,从而可以解决现有区块链数据通过智能合约只能查询到最新状态,无法直接追溯区块中历史交易记录的问题,提高历史交易数据的追溯效率。
[0009] 可选的,所述区块链节点根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据,包括:
[0010] 所述区块链节点根据所述历史交易hash集合中的每个hash值,确定出每个hash值对应的区块;
[0011] 所述区块链节点从所述每个hash值对应的区块,确定出所述交易标识对应的每一笔历史的交易数据。
[0012] 可选的,在所述区块链节点获取待追溯交易的交易标识之前,还包括:
[0013] 所述区块链节点获取待执行交易的交易标识;
[0014] 所述区块链节点执行所述待执行交易,将交易数据写入区块;
[0015] 所述区块链节点在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中的历史交易hash集合中。
[0016] 可选的,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
[0017] 可选的,所述待追溯交易的交易标识是通过部署的智能合约获取的。
[0018] 第二方面,本发明实施例提供一种区块链状态变更交易追溯的装置,包括:
[0019] 获取单元,用于获取待追溯交易的交易标识;
[0020] 处理单元,用于根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括历史交易hash集合,所述历史交易hash集合中包括所述区块链状态发生变化时的交易的hash值;根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据。
[0021] 可选的,所述处理单元具体用于:
[0022] 根据所述历史交易hash集合中的每个hash值,确定出每个hash值对应的区块;
[0023] 从所述每个hash值对应的区块,确定出所述交易标识对应的每一笔历史的交易数据。
[0024] 可选的,所述处理单元还用于:
[0025] 在获取待追溯交易的交易标识之前,还包括:
[0026] 获取待执行交易的交易标识;
[0027] 执行所述待执行交易,将交易数据写入区块;
[0028] 在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中的历史交易hash集合中。
[0029] 可选的,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
[0030] 可选的,所述待追溯交易的交易标识是通过部署的智能合约获取的。
[0031] 第三方面,本发明实施例还提供一种计算设备,包括:
[0032] 存储器,用于存储程序指令;
[0033] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链状态变更交易追溯的方法。
[0034] 第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链状态变更交易追溯的方法。附图说明
[0035] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为本发明实施例提供的一种系统架构的示意图;
[0037] 图2为本发明实施例提供的一种区块链状态变更交易追溯的方法的流程示意图;
[0038] 图3为本发明实施例提供的一种区块链状态的示意图;
[0039] 图4为本发明实施例提供的一种系统架构的示意图;
[0040] 图5为本发明实施例提供的一种区块链状态变更交易追溯的装置的结构示意图。

具体实施方式

[0041] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0042] 图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构可以包括多个机构客户端100和区块链系统200。
[0043] 其中,机构客户端100用于与区块链系统200进行通信,将交易数据发送给区块链系统200进行处理并上链。
[0044] 区块链系统200由多个区块链节点210,与机构客户端100进行通信,用于处理和存储机构客户端100发送的交易数据。该多个区块链节点210可以相互连接通信,每个区块链节点210中包括多个区块,区块用于存储机构客户端100发送的交易数据。
[0045] 需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
[0046] 基于上述描述,图2详细的示出了本发明实施例提供的一种区块链状态变更交易追溯的方法的流程,该流程可以由区块链状态变更交易追溯的装置执行,该装置可以位于上述区块链节点210中,也可以是该区块链节点210。
[0047] 如图2所示,该流程具体包括:
[0048] 步骤201,区块链节点获取待追溯交易的交易标识。
[0049] 在本发明实施例中,待追溯交易的交易标识是可以通过部署的智能合约获取的。区块链节点在获取该待追溯交易的交易标识之前,需要在执行每次交易时,将hash值写入到区块链状态中。区块链状态为交易标识对应的最新一次交易执行时的状态。
[0050] 具体的,区块链节点获取待执行交易的交易标识,然后执行该待执行交易,将交易数据写入区块。最后在确认交易数据发生变化时,更新区块链状态,将区块的hash值存储在区块链状态中的历史交易hash集合中。
[0051] 在本发明实施例中,区块链状态的数据结构可以如图3所示,构建区块链状态中存放的数据结构时,添加交易hash集合字段用于存放交易历史hash集合。也就是说除了存储需要的单据数据之外,还需要存储使区块链状态变更的所有交易的交易hash值集合,状态需要具备以下字段:
[0052] 交易hash集合:每一个使该区块链状态发生变化的交易hash的集合,交易hash可以唯一的表示交易,通过交易hash可以查询到具体的交易数据。
[0053] 还需要在智能合约中添加获取交易hash方法,在每次发送交易调用合约的时候,获取该交易的hash值并将其存放在状态中。
[0054] 步骤202,所述区块链节点根据所述交易标识,确定出所述交易标识对应区块链状态。
[0055] 当得到交易标识后,区块链节点就可以得到该交易标识对应的区块链状态。
[0056] 步骤203,所述区块链节点根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据。
[0057] 具体的,区块链节点根据历史交易hash集合中的每个hash值,确定出每个hash值对应的区块,然后从每个hash值对应的区块,确定出交易标识对应的每一笔历史的交易数据。
[0058] 依次返回区块里存储的对应交易hash的交易数据。由此即可得到促使状态变化的历史交易数据,也就完成了对整个区块链状态变化流程的追溯过程。
[0059] 用户或机构可通过对应的交易数据,对整个交易流程进行分析,从而证实数据真实可信。
[0060] 为了更好的解释本发明实施例,下面将在具体实施场景下来描述上述区块链状态变更交易追溯的过程。
[0061] 如图4所示架构,本实施例采用以Fabric为底层的区块链电子票据服务系统为例,其上部署具备获取交易hash功能的智能合约,在发票进行开票、打印、收票、报销、红冲等上链操作的时候,合约执行的过程中会获取发票改变发票状态的交易的hash值,并和发票数据一并存储到状态中。
[0062] 发票状态采用图3中所示的具备交易hash集合字段的数据结构存储,SDK采用基于开源Fabric SDK自主研发的工具,相比原始SDK,使用起来更加方便,快捷。各商户通过自己的收系统对接开票服务商,各开票服务商通过税局区块链发票系统给出的sdk对接税局的区块链发票节点,税局监管部门同图2中示例相比除了无商户部分外,其余相同,因此不再描述。
[0063] 基于上述架构,数字积分到期操作及修改有效期的步骤如下:
[0064] 1、各开票商户,通过对接税局授权的开票服务商,向税局申请开票,用户向商户提出需求,商户将请求发往服务商。
[0065] 2、服务商通过sdk调用具备获取交易hash功能的智能合约,执行开票交易后,对应的交易将会存放在区块中,而状态为已开票的发票数据以及开票交易hash值将会存储到状态中,后续的打印,收票,报销,红冲等交易请求的处理方式同开票类似,所有的改变状态的交易hash将存储到状态中。
[0066] 3、开票服务商为了对商户开票的全流程进行管理,将会追溯发票的整个交易流程,此时首先在状态中,查询到对应发票的最新状态,以及其历史交易hash集合,返回给开票服务商。
[0067] 4、开票服务商将会通过sdk依次传入历史交易hash集合中交易hash值,并从区块上获取到对应的交易。
[0068] 5、获取到的交易集合返回到开票服务商处,通过整个交易流程的追溯,服务商可对相应商户的开票行为进行分析。
[0069] 上述实施例表明,区块链节点获取待追溯交易的交易标识,根据所述交易标识,确定出交易标识对应区块链状态,区块链状态包括历史交易hash集合,历史交易hash集合中包括区块链状态发生变化时的交易的hash值,根据历史交易hash集合,确定出交易标识对应的每一笔历史的交易数据。通过在区块链状态中增加区块链状态发生变化时的交易hash值,可以实现快速的查找到历史的交易数据,从而可以解决现有区块链数据通过智能合约只能查询到最新状态,无法直接追溯区块中历史交易记录的问题,提高历史交易数据的追溯效率。
[0070] 基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种区块链状态变更交易追溯的装置的结构,该装置可以执行区块链状态变更交易追溯的流程。
[0071] 如图5所示,该装置具体包括:
[0072] 获取单元501,用于获取待追溯交易的交易标识;
[0073] 处理单元502,用于根据所述交易标识,确定出所述交易标识对应区块链状态;所述区块链状态包括历史交易hash集合,所述历史交易hash集合中包括所述区块链状态发生变化时的交易的hash值;根据所述历史交易hash集合,确定出所述交易标识对应的每一笔历史的交易数据。
[0074] 可选的,所述处理单元502具体用于:
[0075] 根据所述历史交易hash集合中的每个hash值,确定出每个hash值对应的区块;
[0076] 从所述每个hash值对应的区块,确定出所述交易标识对应的每一笔历史的交易数据。
[0077] 可选的,所述处理单元502还用于:
[0078] 在获取待追溯交易的交易标识之前,还包括:
[0079] 获取待执行交易的交易标识;
[0080] 执行所述待执行交易,将交易数据写入区块;
[0081] 在确认所述交易数据发生变化时,更新所述区块链状态,将所述区块的hash值存储在所述区块链状态中的历史交易hash集合中。
[0082] 可选的,所述区块链状态为所述交易标识对应的最新一次交易执行时的状态。
[0083] 可选的,所述待追溯交易的交易标识是通过部署的智能合约获取的。
[0084] 基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
[0085] 存储器,用于存储程序指令;
[0086] 处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述区块链状态变更交易追溯的方法。
[0087] 基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行计算机可读指令时,使得计算机执行上述区块链状态变更交易追溯的方法。
[0088] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0089] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0090] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0091] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0092] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈