链上数据入库过程中的状态数据更新方法及装置制造方法及图纸

技术编号:38083018 阅读:6 留言:0更新日期:2023-07-06 08:49
本说明书一个或多个实施例提供一种链上数据入库过程中的状态数据更新方法及装置。其中,该方法包括:获取区块链系统中维护的链上数据,并按照预设的状态数据更新粒度对所述链上数据中同一粒度单位内的多笔交易进行解析;所述状态数据更新粒度用于定义状态数据单次更新所涉及的交易;在对所述粒度单位内的交易解析完成的情况下,对解析得到的多个解析数据进行数据整合,得到与所述粒度单位对应的整合解析数据,所述整合解析数据用于表征所述多个解析数据对状态数据的综合调整状况;以及,基于所述整合解析数据对状态数据进行更新,以将更新得到的状态数据记录于链下数据库中。更新得到的状态数据记录于链下数据库中。更新得到的状态数据记录于链下数据库中。

【技术实现步骤摘要】
链上数据入库过程中的状态数据更新方法及装置


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种链上数据入库过程中的状态数据更新方法及装置。

技术介绍

[0002]区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
[0003]鉴于区块链技术存在上述优势,越来越多用户选择将数据存储至区块链系统,以保证数据的安全性。

技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种链上数据入库过程中的状态数据更新方法及装置。
[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种链上数据入库过程中的状态数据更新方法,包括:
[0007]获取区块链系统中维护的链上数据,并按照预设的状态数据更新粒度对所述链上数据中同一粒度单位内的多笔交易进行解析;所述状态数据更新粒度用于定义状态数据单次更新所涉及的交易;
[0008]在对所述粒度单位内的交易解析完成的情况下,对解析得到的多个解析数据进行数据整合,得到与所述粒度单位对应的整合解析数据,所述整合解析数据用于表征所述多个解析数据对状态数据的综合调整状况;以及,基于所述整合解析数据对状态数据进行更新,以将更新得到的状态数据记录于链下数据库中。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种链上数据入库过程中的状态数据更新装置,包括:
[0010]解析单元,获取区块链系统中维护的链上数据,并按照预设的状态数据更新粒度对所述链上数据中同一粒度单位内的多笔交易进行解析;所述状态数据更新粒度用于定义状态数据单次更新所涉及的交易;
[0011]更新单元,在对所述粒度单位内的交易解析完成的情况下,对解析得到的多个解析数据进行数据整合,得到与所述粒度单位对应的整合解析数据,所述整合解析数据用于表征所述多个解析数据对状态数据的综合调整状况;以及,基于所述整合解析数据对状态数据进行更新,以将更新得到的状态数据记录于链下数据库中。
[0012]根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
[0013]处理器;
[0014]用于存储处理器可执行指令的存储器;
[0015]其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
[0016]根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
[0017]图1是一示例性实施例提供的一种链上数据入库过程中的状态数据更新方法的流程图。
[0018]图2是一示例性实施例提供的另一种链上数据入库过程中的状态数据更新方法的流程图。
[0019]图3是一示例性实施例提供的一种设备的结构示意图。
[0020]图4是一示例性实施例提供的一种链上数据入库过程中的状态数据更新装置的框图。
具体实施方式
[0021]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0022]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0023]由于区块链技术具有去中心化、不可篡改、可信任等优势,越来越多的用户选择将数据保存至区块链系统,以保证数据的安全性。
[0024]然而,在将数据存储至区块链系统之后,由于区块链系统中存在共识等机制限制,需要各个节点之间进行多次交互,用户才能够获取需要查询的链上数据。为此,相关技术提出了将链上数据保存至链下数据库,以专用于数据查询的技术方案。在此基础上,一方面,区块链系统维护的链上数据可用于对链下数据库维护的数据进行校验,以保证数据安全;另一方面,用户可以从链下数据库直接查询所需的已上链数据,避免区块链系统的机制限制而导致数据查询效率较低的问题。
[0025]需要注意的是,相关技术在将链上数据保存至链下数据库时,不仅需要保存链上数据本身,即以区块链形式存储于区块链系统的交易,还需要对链上数据对应的状态数据进行保存。状态数据指的是:用于记录交易执行结果,会随交易执行不断更新的数据。
[0026]在相关技术中,可以通过专用于数据拉取的中间件从区块链系统中拉取链上数据,并通过对链上数据进行解析的方式,获取状态数据。其中,相关技术在拉取链上数据之后,可以对链上数据中包含的各个交易进行解析,以根据每一交易的解析数据对状态数据进行更新,进而记录与每一交易对应的状态数据。
[0027]不难看出,由于相关技术需要根据每一交易进行一次状态数据的更新,致使状态数据的更新频次较高,存在链上数据入库效率不高的问题。
[0028]为此,本说明书提出了一种链上数据入库过程中的状态数据更新方法,以避免相关技术中由于需要基于每一交易进行状态数据更新,而导致链上数据入库效率不高的问题。
[0029]图1为本说明书一示例性实施例示出的一种链上数据入库过程中的状态数据更新方法的流程图。如图1所述,该方法可以包括以下步骤:
[0030]步骤102,获取区块链系统中维护的链上数据,并按照预设的状态数据更新粒度对所述链上数据中同一粒度单位内的多笔交易进行解析;所述状态数据更新粒度用于定义状态数据单次更新所涉及的交易。
[0031]由上述介绍可知,相关技术之所以存在入库效率不高的问题,是由于相关技术需要记录每一交易对状态数据的更新结果,致使需要对状态数据进行频繁更新导致的。
[0032]有鉴于此,本说明书在进行状态数据更新时,不再为每一交易进行状态数据的更新,而是通过预设状态数据更新粒度的方式,基于多笔交易对状态数据进行单次更新。其中,状态数据更新粒度即为“用于定义状态数据单次更新所涉及交易”的预设条件,而单次状态数据更新所限定的多笔交易则可以视为属于同一粒度单位。在此基础上,本说明书即可在从区块链系统拉取链上数据之后,按照预设的状态数据更新粒度对该链上数据中同一粒度单位内的多笔交易进行解析,并在解析完成后,对多笔交易解析的得到的多个解析数据进行整合,得到与该单位粒度对应的整合解析数据,以基于该整合解析粒度对状态数据进行更新后,将更新得到的状态数据记录于链下数据库。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种链上数据入库过程中的状态数据更新方法,包括:获取区块链系统中维护的链上数据,并按照预设的状态数据更新粒度对所述链上数据中同一粒度单位内的多笔交易进行解析;所述状态数据更新粒度用于定义状态数据单次更新所涉及的交易;在对所述粒度单位内的交易解析完成的情况下,对解析得到的多个解析数据进行数据整合,得到与所述粒度单位对应的整合解析数据,所述整合解析数据用于表征所述多个解析数据对状态数据的综合调整状况;以及,基于所述整合解析数据对状态数据进行更新,以将更新得到的状态数据记录于链下数据库中。2.根据权利要求1所述的方法,所述按照预设的状态数据更新粒度对同一粒度单位内包含的多笔交易进行解析,包括:以区块为粒度,对同一区块内的多笔交易进行并行解析;所述对解析得到的多个解析数据进行数据整合,包括:在对任一区块内包含的交易解析完成的情况下,对解析得到的多个解析数据进行数据整合,以得到该任一区块的区块解析数据;所述基于所述整合解析数据对状态数据进行更新,包括:基于所述任一区块的区块解析数据对状态数据进行更新。3.根据权利要求2所述的方法,所述以区块为粒度,对同一区块内的多笔交易进行并行解析,包括:根据各个区块中包含的交易,为各个区块分别构建有向无环图;其中,任一有向无环图图中包含的节点用于表征相应区块中的交易,节点之间的方向标识用于表征不同交易对状态数据的修改顺序;基于构建的有向无环图对相应区块中包含的交易进行并行解析。4.根据权利要求2所述的方法,还包括:为所述链上数据中包含的各个区块设置虚拟同步点,所述虚拟同步点用于标记相应区块所对应的状态数据版本;所述以区块为粒度,对同一区块内的多笔交易进行并行解析,包括:在对所述任一区块内的交易进行并行解析的同时,对区别于所述任一区块的其他区块内的交易进行并行解析;所述基于所述任一区块的区块解析数据对状态数据进行更新,包括:在所述状态数据当前版本的虚拟同步点恰为所述任一区块的上一区块的虚拟同步点的情况下,基于所述任一区块的区块解析数据对所述状态数据进行更新。5.根据权利要求1所述的方法,所述按照预设的状态数据更新粒度对所述链上数据中同一粒度单位内的多笔交易进行解析,包括:从所述链上数据中,读取按照所述状态更新粒度进行单次状态数据更新所涉及的多笔交易的交易回执数据,并对读取到的多个交易回执数据进行...

【专利技术属性】
技术研发人员:余烨凯杜晓凡陈之豪金澈清周傲英袁立威丁慧
申请(专利权)人:华东师范大学
类型:发明
国别省市:

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

1