CN112953747A - 一种联盟链的性能分析方法、系统及终端设备 - Google Patents
一种联盟链的性能分析方法、系统及终端设备 Download PDFInfo
- Publication number
- CN112953747A CN112953747A CN201911264544.8A CN201911264544A CN112953747A CN 112953747 A CN112953747 A CN 112953747A CN 201911264544 A CN201911264544 A CN 201911264544A CN 112953747 A CN112953747 A CN 112953747A
- Authority
- CN
- China
- Prior art keywords
- queue
- alliance chain
- chain
- performance analysis
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请适用于计算机技术领域,提供了一种联盟链的性能分析方法、系统及终端设备,所述方法包括:获取待进行性能分析的联盟链,将联盟链的共识过程抽象为多个实现步骤;然后创建每个实现步骤对应的队列节点模型;将多个队列节点模型依次连接形成队列网络模型;进而对队列网络模型进行队列分析,得到队列网络模型的稳态分布,以根据稳态分布推导出联盟链的性能指标。该方法中对联盟链进行性能评估时不需要搭建实际的测试系统,节省人力物力成本。可以简单高效地对区块链系统进行性能评估分析;同时克服了现有的单模型该方法不适用与对联盟链进行性能评估的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种联盟链的性能分析方法、系统、终端设备及计算机可读存储介质。
背景技术
区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术。近年来,区块链技术的发展对社会产生了重要的影响。
联盟链是一种需要注册许可才能参与的区块链,这种区块链也称为许可链(Permissioned Blockchain)。联盟链提供的服务仅限于联盟成员参与,联盟规模可以大到国与国之间,也可以是不同的机构企业之间。联盟链上的读写权限、参与记账权限按联盟协商好的规则执行。整个联盟链网络由参与的成员机构共同维护,通常是每个参与机构提供多个网络节点组成网络。网络接入一般通过成员机构的网关节点接入,共识过程由预先设定好的节点控制。因此,联盟链一般不采用工作量证明的挖矿机制,而是多采用权益证明(PoS,Proof of Stake)或PBFT(Practical Byzantine Fault Tolerant)、RAFT等共识算法。和公有链相比,交易速度更快且交易成本大幅降低。
在部署一个联盟链系统之前,人们通常要对区块链系统的性能进行评估,从而可以更好地计算网络所需的节点数,用以支撑所需要的应用需求。目前已有的区块链系统性能分析方案只能适用于比特币、以太坊等公有链系统,不能对联盟链的性能进行有效评估。同时,联盟链中使用的共识算法为分步骤进行的共识算法,如果应用传统的基于马尔科夫模型分析框架对联盟链共识进行模拟,会造成状态空间过于庞大而不能求解的问题。
故有必要提出一种新的技术方案,以解决上述技术问题。
发明内容
鉴于此,本申请实施例提供了一种联盟链的性能分析方法、系统及终端设备,以解决现有技术的性能分析方法不能应用于联盟链的性能分析的问题。
本申请实施例的第一方面提供了一种联盟链的性能分析方法,所述性能分析方法包括:
获取待进行性能分析的联盟链,将所述联盟链的共识过程抽象为多个实现步骤;
创建每个所述实现步骤对应的队列节点模型;
将多个所述队列节点模型依次连接形成队列网络模型;
对所述队列网络模型进行队列分析,得到所述队列网络模型的稳态分布,以根据所述稳态分布推导出所述联盟链的性能指标。
可选地,所述将所述联盟链的共识过程抽象为多个实现步骤,包括:
将所述联盟链的共识过程抽象为执行过程、排序过程以及验证过程三个步骤;
其中,执行过程是指所述联盟链中的智能合约的执行过程;
排序过程指将交易信息确定交易顺序,并将交易打包成区块的过程;
验证过程指区块链网路中的节点验证交易合法性的过程。
可选地,所述根据所述稳态分布推导出所述联盟链的性能指标包括:
根据以下公式计算联盟链系统利用率:U=1-π0,其中,π0为联盟链系统的空闲概率;
根据计算结果绘制所述联盟链系统的性能分析报告。
可选地,所述输入、队列、服务和输出四部分;
其中,输入是指用户产生的交易消息的到达过程,所述交易消息到达后在队列里排队等待接收服务,并在服务过程结束后从输出离开该队列节点。
可选地,在所述将所述联盟链的共识过程抽象为多个实现步骤之前包括:
获取待进行性能分析的联盟链的运行参数,所述运行参数包括所述联盟链的网络规模和网络节点。
本申请实施例的第二方面提供了一种联盟链的性能分析系统,所述性能分析系统包括:
共识过程抽象模块,用于获取待进行性能分析的联盟链,将所述联盟链的共识过程抽象为多个实现步骤;
节点模型创建模块,用于创建每个所述实现步骤对应的队列节点模型;
网络模型创建模块,用于将多个所述队列节点模型依次连接形成队列网络模型;
性能分析模块,用于对所述队列网络模型进行队列分析,得到所述队列网络模型的稳态分布,以根据所述稳态分布推导出所述联盟链的性能指标。
可选地,所述共识过程抽象模块,具体用于:
将所述联盟链的共识过程抽象为执行过程、排序过程以及验证过程三个步骤;
其中,执行过程是指所述联盟链中的智能合约的执行过程;
排序过程指将交易信息确定交易顺序,并将交易打包成区块的过程;
验证过程指区块链网路中的节点验证交易合法性的过程。
可选地,所述性能分析统还用于:
获取待进行性能分析的联盟链的运行参数,所述运行参数包括所述联盟链的网络规模和网络节点。
本申请实施例的第三方面提供了一种终端设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述第一方面提及的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述第一方面提及的方法。
本申请实施例中首先获取待进行性能分析的联盟链,将联盟链的共识过程抽象为多个实现步骤;然后创建每个实现步骤对应的队列节点模型;将多个队列节点模型依次连接形成队列网络模型;进而对队列网络模型进行队列分析,得到队列网络模型的稳态分布,以根据稳态分布推导出联盟链的性能指标。该方法中对联盟链进行性能评估时不需要搭建实际的测试系统,节省人力物力成本。可以简单高效地对区块链系统进行性能评估分析;同时克服了现有的单模型该方法不适用与对联盟链进行性能评估的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种联盟链的性能分析方法的流程图;
图2为本申请实施例提供的联盟链的性能分析的整体系统示意图;
图3为本申请实施例提供联盟链的性能分析系统的结构示意图;
图4为本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1是本申请实施例一提供的联盟链的性能分析方法的流程示意图,该方法可以包括以下步骤:
步骤S11:获取待进行性能分析的联盟链,将所述联盟链的共识过程抽象为多个实现步骤。
进一步地,在所述将所述联盟链的共识过程抽象为多个实现步骤之前包括:
获取待进行性能分析的联盟链的运行参数,所述运行参数包括所述联盟链的网络规模和网络节点。
本申请提供的性能分析方法适用于联盟链系统,如图2示出了联盟链性能分析系统的整体图。初始化单元将待分析的联盟链输入性能评估系统,为评估测试单元准备必要的输入参数,如待测联盟链的网络规模、网络节点数等。然后将联盟链的共识过程进行抽象,联盟链中使用的共识协议(如权益证明、PBFT、RAFT等)大多是分多个步骤进行的,我们通过模型抽象技术先将联盟链的共识协议抽象为若干个步骤。此处,我们一般抽象成三个步骤:执行过程是指联盟链中的智能合约(smart contract)的执行过程;排序过程是指将交易信息确定一个大家公认的顺序并将交易打包成区块的过程;验证过程指的是区块链网路中的节点验证交易的合法性的过程。
步骤S12:创建每个所述实现步骤对应的队列节点模型。
该步骤中将抽象出的每一个实现步骤用一个队列节点模型进行模拟。队列节点模型包括输入、队列、服务和输出四个部分。输入是指消息(如用户产生的交易消息)的到达过程,符合指数分布的消息到达过程可以用一个参数λ来表示消息到达的速率。消息到达后在队列里排队等待接收服务,服务过程结束后消息从输出离开该队列节点。队列的服务时间分布可以使用指数分布、相位分布、Weibull分布等。如果队列的服务时间分布符合指数分布,我们同样使用一个参数μ表示消息被服务的速率。
步骤S13:将多个所述队列节点模型依次连接形成队列网络模型。
该步骤中将用于模拟联盟链共识过程的多个队列节点依次连接形成队列网络模型。通过队列分析技术对这个队列网络进行分析,求解队列状态的稳态分布π。由这个稳态分布可以推导出联盟链的性能指标,如队列的吞吐量、平均排队长度、平均响应时间和系统利用率等。
步骤S14:对所述队列网络模型进行队列分析,得到所述队列网络模型的稳态分布,以根据所述稳态分布推导出所述联盟链的性能指标。
该步骤中我们选取需要评估的性能指标进行计算,从而对联盟链系统性能进行评估。首先,由上一步的队列稳态分布可以计算出平均排队长度其中,k为系统中的交易数量,πk为稳态下系统中有k个交易的概率;再由利特尔定律(Little’sLaw)可以计算出平均响应时间:其中λ为交易到达速率;系统利用率由下面公式求得:U=1-π0,其中,π0为联盟链系统的空闲概率;计算出想要的性能指标之后,形成联盟链系统的性能分析报告。
本申请实施例中首先获取待进行性能分析的联盟链,将联盟链的共识过程抽象为多个实现步骤;然后创建每个实现步骤对应的队列节点模型;将多个队列节点模型依次连接形成队列网络模型;进而对队列网络模型进行队列分析,得到队列网络模型的稳态分布,以根据稳态分布推导出联盟链的性能指标。该方法中对联盟链进行性能评估时不需要搭建实际的测试系统,节省人力物力成本。可以简单高效地对区块链系统进行性能评估分析;同时克服了现有的单模型该方法不适用与对联盟链进行性能评估的问题。
实施例二
图3是本申请实施例二提供的联盟链的性能分析系统的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
该性能分析系统包括:
共识过程抽象模块31,用于获取待进行性能分析的联盟链,将所述联盟链的共识过程抽象为多个实现步骤;
节点模型创建模块32,用于创建每个所述实现步骤对应的队列节点模型;
网络模型创建模块33,用于将多个所述队列节点模型依次连接形成队列网络模型;
性能分析模块34,用于对所述队列网络模型进行队列分析,得到所述队列网络模型的稳态分布,以根据所述稳态分布推导出所述联盟链的性能指标。
可选地,所述共识过程抽象模块31,具体用于:
将所述联盟链的共识过程抽象为执行过程、排序过程以及验证过程三个步骤;
其中,执行过程是指所述联盟链中的智能合约的执行过程;
排序过程指将交易信息确定交易顺序,并将交易打包成区块的过程;
验证过程指区块链网路中的节点验证交易合法性的过程。
可选地,所述性能分析统还用于:
获取待进行性能分析的联盟链的运行参数,所述运行参数包括所述联盟链的网络规模和网络节点。
上述系统的具体工作过程参见上述联盟链的性能分析方法的实现过程,在此不再赘述。
实施例三
图4是本申请实施例四提供的终端设备的结构示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述方法实施例一中的步骤,例如图1所示的步骤S11至S14。所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示单元31至44的功能。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种联盟链的性能分析方法,其特征在于,所述性能分析方法包括:
获取待进行性能分析的联盟链,将所述联盟链的共识过程抽象为多个实现步骤;
创建每个所述实现步骤对应的队列节点模型;
将多个所述队列节点模型依次连接形成队列网络模型;
对所述队列网络模型进行队列分析,得到所述队列网络模型的稳态分布,以根据所述稳态分布推导出所述联盟链的性能指标。
2.根据权利要求1所述的性能分析方法,其特征在于,所述将所述联盟链的共识过程抽象为多个实现步骤,包括:
将所述联盟链的共识过程抽象为执行过程、排序过程以及验证过程三个步骤;
其中,执行过程是指所述联盟链中的智能合约的执行过程;
排序过程指将交易信息确定交易顺序,并将交易打包成区块的过程;
验证过程指区块链网路中的节点验证交易合法性的过程。
4.根据权利要求2所述的性能分析方法,其特征在于,所述输入、队列、服务和输出四部分;
其中,输入是指用户产生的交易消息的到达过程,所述交易消息到达后在队列里排队等待接收服务,并在服务过程结束后从输出离开该队列节点。
5.根据权利要求2所述的性能分析方法,其特征在于,在所述将所述联盟链的共识过程抽象为多个实现步骤之前包括:
获取待进行性能分析的联盟链的运行参数,所述运行参数包括所述联盟链的网络规模和网络节点。
6.一种联盟链的性能分析系统,其特征在于,所述性能分析系统包括:
共识过程抽象模块,用于获取待进行性能分析的联盟链,将所述联盟链的共识过程抽象为多个实现步骤;
节点模型创建模块,用于创建每个所述实现步骤对应的队列节点模型;
网络模型创建模块,用于将多个所述队列节点模型依次连接形成队列网络模型;
性能分析模块,用于对所述队列网络模型进行队列分析,得到所述队列网络模型的稳态分布,以根据所述稳态分布推导出所述联盟链的性能指标。
7.根据权利要求6所述的性能分析系统,其特征在于,所述共识过程抽象模块,具体用于:
将所述联盟链的共识过程抽象为执行过程、排序过程以及验证过程三个步骤;
其中,执行过程是指所述联盟链中的智能合约的执行过程;
排序过程指将交易信息确定交易顺序,并将交易打包成区块的过程;
验证过程指区块链网路中的节点验证交易合法性的过程。
8.根据权利要求7所述的性能分析系统,其特征在于,所述性能分析系统还用于:
获取待进行性能分析的联盟链的运行参数,所述运行参数包括所述联盟链的网络规模和网络节点。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911264544.8A CN112953747B (zh) | 2019-12-10 | 2019-12-10 | 一种联盟链的性能分析方法、系统及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911264544.8A CN112953747B (zh) | 2019-12-10 | 2019-12-10 | 一种联盟链的性能分析方法、系统及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112953747A true CN112953747A (zh) | 2021-06-11 |
CN112953747B CN112953747B (zh) | 2023-02-10 |
Family
ID=76226312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911264544.8A Active CN112953747B (zh) | 2019-12-10 | 2019-12-10 | 一种联盟链的性能分析方法、系统及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112953747B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361314A (zh) * | 2022-08-24 | 2022-11-18 | 星环信息科技(上海)股份有限公司 | 一种面向Hyperledger Fabric 2.0性能评估方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338471A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 基于模型的无线多跳网络服务质量指标评价方法 |
US20180260909A1 (en) * | 2017-03-08 | 2018-09-13 | Alibaba Group Holding Limited | Handing requests in a consensus network |
CN109472596A (zh) * | 2018-10-16 | 2019-03-15 | 中国传媒大学 | 基于交易评估的联盟链共识方法及系统 |
CN110163517A (zh) * | 2019-05-24 | 2019-08-23 | 燕山大学 | 一种基于g-限量服务休假规则的区块链系统建模方法 |
-
2019
- 2019-12-10 CN CN201911264544.8A patent/CN112953747B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338471A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 基于模型的无线多跳网络服务质量指标评价方法 |
US20180260909A1 (en) * | 2017-03-08 | 2018-09-13 | Alibaba Group Holding Limited | Handing requests in a consensus network |
CN109472596A (zh) * | 2018-10-16 | 2019-03-15 | 中国传媒大学 | 基于交易评估的联盟链共识方法及系统 |
CN110163517A (zh) * | 2019-05-24 | 2019-08-23 | 燕山大学 | 一种基于g-限量服务休假规则的区块链系统建模方法 |
Non-Patent Citations (1)
Title |
---|
赵全鑫: ""基于马尔科夫链理论的区块链建模与性能分析"", 《第六届中国指挥控制大会论文集(下册)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361314A (zh) * | 2022-08-24 | 2022-11-18 | 星环信息科技(上海)股份有限公司 | 一种面向Hyperledger Fabric 2.0性能评估方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112953747B (zh) | 2023-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100391159C (zh) | 通过把推理用于it系统进行自动建模的方法和设备 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN102141951B (zh) | 芯片仿真系统及方法 | |
CN106100939B (zh) | 网络设备启动时间测试方法及测试控制台 | |
US8332507B2 (en) | Method for determining service demands in a network load balanced scenario | |
Huang et al. | A simulation-based optimization approach for reliability-aware service composition in edge computing | |
CN107527222A (zh) | 信息处理方法和装置及系统 | |
Martin et al. | The use of process mining in a business process simulation context: Overview and challenges | |
CN112953747B (zh) | 一种联盟链的性能分析方法、系统及终端设备 | |
Herwanto et al. | Measuring throughput and latency distributed ledger technology: Hyperledger | |
CN115941538B (zh) | 一种针对多方安全计算的测试系统、测试方法及装置 | |
RU2532714C2 (ru) | Способ получения данных при оценке ресурсов сети и устройство для осуществления способа | |
Marcozzi et al. | Analytical model for performability evaluation of Practical Byzantine Fault-Tolerant systems | |
CN116523244A (zh) | 一种基于外包资源的测试人力风险预警方法 | |
Savolainen et al. | Conflict-centric software architectural views: Exposing trade-offs in quality requirements | |
CN106330556B (zh) | 一种用于生成服务模块调用关联信息的方法与装置 | |
Singleton | Performance modelling—what, why, when and how | |
CN111882415A (zh) | 一种质量检测模型的训练方法和相关装置 | |
US20040138867A1 (en) | System and method for modeling multi-tier distributed workload processes in complex systems | |
CN113328913B (zh) | 一种提高项目测试效率的方法、装置和系统 | |
US20120078596A1 (en) | Method for verifying the validity of the simulation of a system and corresponding device | |
Yoshii et al. | Queuing network approximation technique for evaluating performance of computer systems with input to terminals | |
Koike et al. | Queuing Network Approximation Method for Evaluating Performance of Computer Systems with Finite Input Source | |
CN114880200A (zh) | 应用程序性能测试方法及装置 | |
CN115237794A (zh) | 区块链节点的测试方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |