本技术涉及分布式账本,特别涉及一种兼容链式和图式分布式账本系统的仿真方法和仿真平台。
背景技术:
1、分布式账本系统是一种分布式的数据管理系统,在多个节点之间采用共识机制,记录和维护数据所有权、传播、交易链等各方面相关的完整和全面的数据信息。它在数据生成和流动的整个生命周期中,确保数据的不可篡改性和不可否认性,为数据权利的确认、保护和审计提供了支持。
2、根据底层账本结构的不同,分布式账本系统根据底层账本结构可分为链式账本系统和图式账本系统,由于底层账本结构的改变,使得系统对于交易数据的处理也随之改变,因而分布式账本系统在软件架构、数据存储、网络传输、逻辑处理等设计上存在较大差异。
3、分布式账本系统仿真是通过虚拟的方式来支持系统行为的模拟仿真,将不同系统配置映射到仿真环境,以实现对系统的性能进行分析。然而,现有的仿真方法均是采用单一的账本结构,无法对比不同账本结构对系统的影响。
4、因此,亟需一种能够兼容链式和图式账本系统的仿真方法,以对不同分布式账本系统的性能进行对比分析。
技术实现思路
1、鉴于上述问题,本技术实施例提供了一种兼容链式和图式分布式账本系统的仿真方法和仿真平台,以便克服上述问题或者至少部分地解决上述问题。
2、本技术实施例的第一方面,公开了一种兼容链式和图式分布式账本系统的仿真方法,包括:
3、根据链式分布式账本结构和图式分布式账本结构,抽象账本结构特征,并根据所述账本结构特征构建异构账本模型,所述账本结构特征包括区块间的引用关系和区块内的交易模型,所述交易模型包括未花费的交易输出模型和账户余额模型,所述异构账本模型包括链式账本模型和图式账本模型;
4、根据所述异构账本模型的层次结构,逐层设计配置项,所述层次结构包括共识层、数据层和存储层;
5、根据所述配置项进行系统配置,并根据所述系统配置生成配置矩阵,所述配置矩阵表征分布式账本系统的执行逻辑;
6、根据所述配置矩阵生成对应的分布式账本系统实例,所述分布式账本系统实例包括链式账本系统和图式账本系统;
7、设置不同业务场景下的负载条件,并根据所述负载条件对所述分布式账本系统实例进行仿真,得到仿真结果。
8、可选地,所述配置矩阵的每行元素表征一个配置项,每列元素表征一个分布式账本系统的配置项,所述配置矩阵至少包括一列链式账本系统的配置项和一列图式账本系统的配置项。
9、可选地,根据所述配置项进行系统配置,并根据所述系统配置生成配置矩阵,包括:
10、根据所述异构账本模型的层次结构,逐层设置每个配置项的参数值;
11、将每个所述配置项的参数值映射到对应的键,得到所述配置矩阵。
12、可选地,根据所述异构账本模型的层次结构,逐层设置每个配置项的参数值,包括:
13、配置共识层配置项的参数值,所述共识层配置项的参数值包括记账共识和确认共识;
14、配置数据层配置项的参数值,所述数据层配置项的参数值包括账户模式、前置区块列表、交易和账本模式,所述账户模式包括未花费的交易输出模型和账户余额模型,所述前置区块列表包括单前置区块和多前置区块,所述交易包括有冲突和无冲突,所述账本模式包括图式账本结构和链式账本结构;
15、配置存储层配置项的参数值,所述配置存储层配置项的参数值包括账本数据的存储位置,所述账本数据以键-值的形式存储在指定的存储设备中。
16、可选地,所述方法还包括:
17、设置分布式账本系统网络层中的节点,并批量启动所设置的节点,所述节点之间采用广播机制进行通信。
18、可选地,根据所述配置矩阵生成对应的分布式账本系统实例,包括:
19、根据所述节点和所述配置矩阵中的参数执行处理逻辑,得到所述分布式账本系统实例。
20、可选地,所述方法还包括:
21、根据所述仿真结果进行度量指标计算,得到度量指标值,所述度量指标包括弃块率、单位时间内的有效出块数量;
22、根据所述度量指标值,对链式账本系统和图式账本系统的性能进行对比,得到分析结果。
23、本技术实施例的第二方面,公开了一种兼容链式和图式分布式账本系统的仿真平台,包括:
24、配置管理模块,用于根据链式分布式账本结构和图式分布式账本结构,抽象账本结构特征,并根据所述账本结构特征构建异构账本模型,所述账本结构特征包括区块间的引用关系和区块内的交易模型,所述交易模型包括未花费的交易输出模型和账户余额模型,所述异构账本模型包括链式账本模型和图式账本模型;根据所述异构账本模型的层次结构,逐层设计配置项,所述层次结构包括共识层、数据层和存储层;以及,根据所述配置项进行系统配置,并根据所述系统配置生成配置矩阵,所述配置矩阵表征分布式账本系统的执行逻辑;
25、仿真模块,用于根据所述配置矩阵生成对应的分布式账本系统实例,所述分布式账本系统实例包括链式账本系统和图式账本系统;
26、负载管理模块,用于设置不同业务场景下的负载条件,并根据所述负载条件对所述分布式账本系统实例进行仿真,得到仿真结果。
27、可选地,所述仿真平台还包括:
28、节点管理模块,用于设置分布式账本系统网络层中的节点,并批量启动所设置的节点,所述节点之间采用广播机制进行通信。
29、可选地,所述仿真平台还包括:
30、系统分析模块,用于根据所述仿真结果进行度量指标计算,得到度量指标值,所述度量指标包括弃块率、单位时间内的有效出块数量;以及根据所述度量指标值,对链式账本系统和图式账本系统的性能进行对比,得到分析结果。
31、本技术实施例包括以下优点:
32、在本技术实施例中,根据链式分布式账本结构和图式分布式账本结构,抽象账本结构特征,并根据所述账本结构特征构建异构账本模型,所述账本结构特征包括区块间的引用关系和区块内的交易模型,所述交易模型包括未花费的交易输出模型和账户余额模型,所述异构账本模型包括链式账本模型和图式账本模型;根据所述异构账本模型的层次结构,逐层设计配置项,所述层次结构包括共识层、数据层和存储层;根据所述配置项进行系统配置,并根据所述系统配置生成配置矩阵,所述配置矩阵表征分布式账本系统的执行逻辑;根据所述配置矩阵生成对应的分布式账本系统实例,所述分布式账本系统实例包括链式账本系统和图式账本系统;设置不同业务场景下的负载条件,并根据所述负载条件对所述分布式账本系统实例进行仿真,得到仿真结果。
33、由于配置项是根据异构账本模型的层次结构逐层设计的,而异构账本模型是根据链式分布式账本和图式分布式账本的账本结构特征构建的,因此根据配置项灵活的进行系统配置,能够得到表征分布式账本系统执行逻辑的配置矩阵,从而基于配置矩阵得到对应的链式账本系统和图式账本系统。如此,实现一种按需配置的分布式账本仿真,能够灵活的切换不同的分布式账本系统进行仿真,从而实现同时对链式账本系统和图式账本系统进行仿真模拟,对比分析不同账本结构对系统的影响,解决了不同底层账本结构难配置、难对比、难分析的问题。