CN114422409A - 区块链网络的测试方法、装置、设备及存储介质 - Google Patents
区块链网络的测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114422409A CN114422409A CN202111554975.5A CN202111554975A CN114422409A CN 114422409 A CN114422409 A CN 114422409A CN 202111554975 A CN202111554975 A CN 202111554975A CN 114422409 A CN114422409 A CN 114422409A
- Authority
- CN
- China
- Prior art keywords
- network
- node
- block chain
- policy
- agent
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 23
- 238000004088 simulation Methods 0.000 abstract 1
- 238000004590 computer program Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请属于区块链领域,提出一种区块链网络的测试方法、装置、设备及存储介质,该方法包括:获取待测试的真实区块链网络的网络结构信息;在局域网中部署节点数目个虚拟区块链节点;为每个虚拟区块链节点分别分配节点网络代理;根据上述连接关系建立节点网络代理之间的连接;在局域网中部署网络策略面板,建立网络策略面板与每个虚拟区块链节点的节点网络代理之间的连接;通过网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。实现在局域网中模拟对真实区块链网络的测试,既能提高区块链网络测试的准确性,又降低了测试成本。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种区块链网络的测试方法、装置、设备及存储介质。
背景技术
区块链网络包括众多的节点设备,这些节点设备分布在不同的地方。在区块链网络的运行过程中,经常因为某些节点设备故障或网络不稳定等原因,导致区块链中交易的传播、区块的共识、同步等出现问题。
因此需要在区块链网络中部署一些网络策略,以便节点设备依据这些网络策略来应对各种网络问题。为了确保这些网络策略的有效性,需要对网络策略在区块链网络中的运行情况进行模拟和测试。
但实际应用中区块链网络中节点众多且离散分布,导致在区块链网络中进行测试的难度很大,且效果不佳。
发明内容
本申请提出一种区块链网络的测试方法、装置、设备及存储介质,在局域网中模拟对真实区块链网络的测试,既能提高区块链网络测试的准确性,又降低了测试成本。
本申请第一方面实施例提出了一种区块链网络的测试方法,包括:
获取待测试的真实区块链网络的网络结构信息,所述网络结构信息包括所述真实区块链网络中的节点数目以及节点间的连接关系;
在局域网中部署所述节点数目个虚拟区块链节点;
为每个虚拟区块链节点分别分配一个节点网络代理;
根据所述连接关系建立节点网络代理之间的通信连接;
在所述局域网中部署网络策略面板,建立所述网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;
通过所述网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
在本申请的一些实施例中,所述为每个虚拟区块链节点分别分配一个节点网络代理,包括:
在所述局域网中部署所述节点数目个节点网络代理;
将所述节点网络代理与所述虚拟区块链节点一一对应连接;
为每个所述节点网络代理配置对应的虚拟区块链节点的节点标识。
在本申请的一些实施例中,所述根据所述连接关系建立节点网络代理之间的通信连接,包括:
为所述真实区块链网络中每个真实的节点设备分别确定一个对应的虚拟区块链节点;
根据所述连接关系,确定建立通信连接的两个真实的节点设备;
建立所述两个真实的节点设备对应的两个虚拟区块链节点的节点网络代理之间的通信连接。
在本申请的一些实施例中,所述通过所述网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试,包括:
向所述网络策略面板提交测试信息,所述测试信息包括待测试的网络策略及所述网络策略所针对的节点规模信息;
通过所述网络策略面板将所述网络策略发送给所述节点规模信息对应的节点网络代理;
通过所述节点网络代理基于所述网络策略进行网络包的处理;
根据所述节点网络代理对所述网络策略的执行情况,记录所述网络策略对应的测试日志。
在本申请的一些实施例中,所述网络策略包括延迟策略,所述通过所述节点网络代理基于所述网络策略进行网络包的处理,包括:
当所述节点网络代理需要转发网络包时,延迟所述网络策略包括的延迟时长再转发所述网络包;或者,
当所述节点网络代理需要转发网络包时,从所述网络策略包括的延迟时间范围中选择一个延迟时长,延迟选择的所述延迟时长再转发所述网络包。
在本申请的一些实施例中,所述网络策略包括丢包策略,所述通过所述节点网络代理基于所述网络策略进行网络包的处理,包括:
通过所述节点网络代理根据所述丢包策略包括的丢包比例对接收到的网络包进行丢包处理。
在本申请的一些实施例中,所述网络策略包括拒绝策略,所述通过所述节点网络代理基于所述网络策略进行网络包的处理,包括:
通过所述节点网络代理确定接收到的网络请求是否满足所述拒绝策略包括的请求报文的模式;
如果是,通过所述节点网络代理拒绝响应所述网络请求。
本申请第二方面的实施例提供了一种区块链网络的测试装置,包括:
获取模块,用于获取待测试的真实区块链网络的网络结构信息,所述网络结构信息包括所述真实区块链网络中的节点数目以及节点间的连接关系;
虚拟节点部署模块,用于在局域网中部署所述节点数目个虚拟区块链节点;
节点代理分配模块,用于为每个虚拟区块链节点分别分配一个节点网络代理;
建立连接模块,用于根据所述连接关系建立节点网络代理之间的通信连接;在所述局域网中部署网络策略面板,建立所述网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;
测试模块,用于通过所述网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面所述的方法的步骤。
本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,根据待测试的真实的区块链网络,在局域网中构建对应的虚拟区块链网络,模拟出多个节点设备对应的虚拟区块链节点,每个虚拟区块链节点分别对应于一个节点网络代理,虚拟区块链节点之间通过各自的节点网络代理通信连接。每个虚拟区块链节点的节点网络代理均与网络策略面板连接。通过网络策略面板向虚拟区块链节点的节点网络代理分发待测试的网络策略,虚拟区块链节点的节点网络代理依据接收到的网络策略来与其他虚拟区块链节点的节点网络代理进行网络通信,从而实现在局域网中模拟对真实区块链网络的测试,既能提高区块链网络测试的准确性,又降低了测试成本。且在局域网中模拟真实的区块链网络,能够方便地根据真实的区块链网络的网络结构的变化调整虚拟区块链网络的结构,灵活性很强,能够适用于各种网络结构的区块链网络的测试场景。且对于待测试的策略,可以根据真实的区块链网络的业务、网络、开发等各方面的需求灵活地确定待测试的策略,能够实现对各种策略的测试。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的一种区块链网络的测试方法的流程图;
图2示出了本申请一实施例所提供的局域网中虚拟区块链网络的结构示意图;
图3示出了本申请一实施例所提供的一种区块链网络的测试装置的结构示意图;
图4示出了本申请一实施例所提供的一种计算机设备的结构示意图;
图5示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请提供了一种区块链网络的测试方法,参见图1,该方法包括:
步骤101:获取待测试的真实区块链网络的网络结构信息,该网络结构信息包括该真实区块链网络中的节点数目以及节点间的连接关系。
本申请实施例的执行主体可以为任意能够执行区块链网络的测试方法的设备该设备可以从待测试的真实区块链网络的配置信息中获取该真实区块链网络的网络结构信息。
步骤102:在局域网中部署该节点数目个虚拟区块链节点。
虚拟区块链节点可以为不具有数据处理功能的虚拟节点,也可以为具有一定数据处理功能的虚拟节点。虚拟区块链节点可以通过软件程序来实现。部署该节点数目个虚拟区块链节点之后,还为每个虚拟区块链节点分别分配节点标识。
步骤103:为每个虚拟区块链节点分别分配一个节点网络代理。
节点网络代理可以为软件程序,也可以为硬件网卡。在局域网中部署上述节点数目个节点网络代理,将该节点数目个节点网络代理分别与该节点数目个虚拟区块链节点一一对应连接,分别在每个节点网络代理中配置每个节点网络代理各自对应的虚拟区块链节点的节点标识。
虚拟区块链节点通过自身对应的节点网络代理与外界通信。每个虚拟区块链节点都与自己对应的节点网络代理连接,且节点网络代理中配置有其对应的虚拟区块链节点的节点标识。
步骤104:根据上述网络结构信息包括的节点间的连接关系,建立节点网络代理之间的通信连接。
对于待测试的真实区块链网络中每个真实的节点设备,从局域网中部署的所有虚拟区块链节点中分别确定一个对应的虚拟区块链节点。根据该真实区块链网络的网络结构信息包括的节点间的连接关系,确定建立通信连接的两个真实的节点设备,在局域网中建立这两个真实的节点设备对应的两个虚拟区块链节点的节点网络代理之间的通信连接。
按照上述方式根据真实的节点间的连接关系,在局域网中建立起相应的虚拟区块链节点的节点网络代理之间的通信连接。至此,在局域网中构建了待测试的真实的区块链网络对应的虚拟区块链网络。该虚拟区块链网络的网络结构与该真实的区块链网络的网络结构完全相同。
步骤105:在该局域网中部署网络策略面板,建立该网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接。
网络策略面板可以为软件程序,也可以为局域网中的一个硬件设备。测试人员可以向网络策略面板提交待测试的网络策略,通过网络策略面板将待测试的网络策略分发给虚拟区块链节点的节点网络代理。网络策略的分发可以全局发送,也可以定向发送。
为了便于理解本申请实施例构建的虚拟区块链网络,下面结合附图进行说明。假设待测试的真实区块链网络中包含N个真实的节点设备,每个节点设备均与其他每个节点设备通信连接。图2示出了该真实区块链网络对应的局域网中的虚拟区块链网络的结构,图2中包括虚拟区块链节点Node1,Node2,Node3,Node4,..,Node N。每个虚拟区块链节点都与各自的节点网络代理Net-car通信连接。所有节点网络代理Net-car均与网络策略面板Net-strategy-panel连接。
步骤106:通过网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
在本申请实施例中,若虚拟区块链节点的节点网络代理中未设置任何的网络策略,则节点网络代理会对网络包进行正常的接收或转发,此时该虚拟区块链网络与待测试的真实区块链网络的网络通信是相同的。
当需要在真实的区块链网络中部署网络策略之前,首先在对应的虚拟区块链网络中对网络策略进行测试。具体地,测试人员向网络策略面板提交测试信息,该测试信息包括待测试的网络策略及网络策略所针对的节点规模信息。若待测试的网络策略是针对所有虚拟区块链节点的,则该节点规模信息包括全局标识,该全局标识可以为ALL或1等。若待测试的网络策略是针对部分虚拟区块链节点的,则该节点规模信息包括该网络策略所针对的具体虚拟区块链节点的节点标识。
网络策略面板接收到测试人员提交的测试信息,将所述测试信息包括的网络策略发送给上述节点规模信息对应的虚拟区块链节点的节点网络代理。
若该测试信息包括全局标识,则将该测试信息包括的网络策略分发给局域网中每个虚拟区块链节点的节点网络代理。若该测试信息包括至少一个虚拟区块链节点的节点标识,则网络策略面板将该测试信息包括的网络策略定向发送给该至少一个节点标识对应的虚拟区块链节点的节点网络代理。
节点网络代理基于接收到的网络策略进行网络包的处理。根据节点网络代理对网络策略的执行情况,记录网络策略对应的测试日志。
针对待测试的真实区块链网络中存在的各种网络问题,待测试的网络策略可以包括延迟策略、丢包策略、针对http/https等网络请求的拒绝策略,等等。
其中,延迟策略用于指定节点网络代理转发网络包时的延迟策略,延迟策略的表达式可以为delay[range],其中range为延迟时长,该延迟时长可以为具体的时间,也可以为一个时间范围。
例如,延迟策略可以为delay[100],节点网络代理接收到该延迟策略后,当要转发网络包时会延迟100ms再进行转发。
又如,延迟策略可以为delay[100,500],节点网络代理接收到该延迟策略后,当要转发网络包时会随机延迟100ms到500ms之间的一个时长数值再进行转发,如延长300ms再进行转发。
丢包策略用于指定节点网络代理对接收到的网络包所采取的丢包策略,丢包策略的表达式可以为discard[percent],其中percent为丢包的百分比。
例如,丢包策略可以为discard[70],节点网络代理接收到该丢包策略后,节点网络代理会丢弃70%的网络包。
拒绝策略用于指定节点网络代理对接收到的http/https等网络请求的拒绝策略,拒绝策略的表达式可以为refuse[regex-code],其中regex规定了可以拒绝的请求报文的模式,code规定了对符合regex规定的模式的请求报文所反馈的响应消息。
例如,拒绝策略可以为refuse[block$-404],则当节点网络代理接收到以block结尾的请求报文时,节点网络代理会拒绝该请求报文,并返回404的响应消息。
本申请实施例还可以在局域网中该虚拟区块链网络中测试任意的其他策略,策略可以根据开发需求很方便地进行扩展。而且虚拟区块链网络中的虚拟区块链节点的数目及连接关系也能够很方便地根据真实的区块链网络的情况进行调整或扩展。
在本申请实施例中,根据待测试的真实的区块链网络,在局域网中构建对应的虚拟区块链网络,模拟出多个节点设备对应的虚拟区块链节点,每个虚拟区块链节点分别对应于一个节点网络代理,虚拟区块链节点之间通过各自的节点网络代理通信连接。每个虚拟区块链节点的节点网络代理均与网络策略面板连接。通过网络策略面板向虚拟区块链节点的节点网络代理分发待测试的网络策略,虚拟区块链节点的节点网络代理依据接收到的网络策略来与其他虚拟区块链节点的节点网络代理进行网络通信,从而实现在局域网中模拟对真实区块链网络的测试,既能提高区块链网络测试的准确性,又降低了测试成本。且在局域网中模拟真实的区块链网络,能够方便地根据真实的区块链网络的网络结构的变化调整虚拟区块链网络的结构,灵活性很强,能够适用于各种网络结构的区块链网络的测试场景。且对于待测试的策略,可以根据真实的区块链网络的业务、网络、开发等各方面的需求灵活地确定待测试的策略,能够实现对各种策略的测试。
本申请实施例提供了一种区块链网络的测试装置,该装置用于执行上述任一实施例所述的区块链网络的测试方法,如图3所示,该装置包括:
获取模块201,用于获取待测试的真实区块链网络的网络结构信息,网络结构信息包括真实区块链网络中的节点数目以及节点间的连接关系;
虚拟节点部署模块202,用于在局域网中部署节点数目个虚拟区块链节点;
节点代理分配模块203,用于为每个虚拟区块链节点分别分配一个节点网络代理;
建立连接模块204,用于根据网络结构信息包括的节点间的连接关系,建立节点网络代理之间的通信连接;在局域网中部署网络策略面板,建立网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;
测试模块205,用于通过网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
节点代理分配模块203,用于在局域网中部署节点数目个节点网络代理;将节点网络代理与虚拟区块链节点一一对应连接;为每个节点网络代理配置对应的虚拟区块链节点的节点标识。
建立连接模块204,用于为真实区块链网络中每个真实的节点设备分别确定一个对应的虚拟区块链节点;根据网络结构信息包括的节点间的连接关系,确定建立通信连接的两个真实的节点设备;在局域网中建立这两个真实的节点设备对应的两个虚拟区块链节点的节点网络代理之间的通信连接。
测试模块205,用于向网络策略面板提交测试信息,测试信息包括待测试的网络策略及网络策略所针对的节点规模信息;通过网络策略面板将网络策略发送给节点规模信息对应的虚拟区块链节点的节点网络代理;通过节点网络代理基于网络策略进行网络包的处理;根据节点网络代理对网络策略的执行情况,记录网络策略对应的测试日志。
网络策略包括延迟策略,测试模块205,用于当节点网络代理需要转发网络包时,延迟网络策略包括的延迟时长再转发网络包;或者,当节点网络代理需要转发网络包时,从网络策略包括的延迟时间范围中选择一个延迟时长,延迟选择的延迟时长再转发网络包。
网络策略包括丢包策略,测试模块205,用于通过节点网络代理根据丢包策略包括的丢包比例对接收到的网络包进行丢包处理。
网络策略包括拒绝策略,测试模块205,用于通过节点网络代理确定接收到的网络请求是否满足拒绝策略包括的请求报文的模式;如果是,通过节点网络代理拒绝响应网络请求。
在本申请实施例中,根据待测试的真实的区块链网络,在局域网中构建对应的虚拟区块链网络,模拟出多个节点设备对应的虚拟区块链节点,每个虚拟区块链节点分别对应于一个节点网络代理,虚拟区块链节点之间通过各自的节点网络代理通信连接。每个虚拟区块链节点的节点网络代理均与网络策略面板连接。通过网络策略面板向虚拟区块链节点的节点网络代理分发待测试的网络策略,虚拟区块链节点的节点网络代理依据接收到的网络策略来与其他虚拟区块链节点的节点网络代理进行网络通信,从而实现在局域网中模拟对真实区块链网络的测试,既能提高区块链网络测试的准确性,又降低了测试成本。且在局域网中模拟真实的区块链网络,能够方便地根据真实的区块链网络的网络结构的变化调整虚拟区块链网络的结构,灵活性很强,能够适用于各种网络结构的区块链网络的测试场景。且对于待测试的策略,可以根据真实的区块链网络的业务、网络、开发等各方面的需求灵活地确定待测试的策略,能够实现对各种策略的测试。
本申请实施例提供了一种计算机设备。如图4所示,该计算机设备包括通过装置总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作装置、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种区块链网络的测试方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种区块链网络的测试方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。处理器执行计算机程序时实现以下步骤:获取待测试的真实区块链网络的网络结构信息,网络结构信息包括真实区块链网络中的节点数目以及节点间的连接关系;在局域网中部署节点数目个虚拟区块链节点;为每个虚拟区块链节点分别分配一个节点网络代理;根据连接关系,建立节点网络代理之间的通信连接;在局域网中部署网络策略面板,建立网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;通过网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
处理器执行计算机程序时实现以下步骤:在局域网中部署节点数目个节点网络代理;将节点网络代理与虚拟区块链节点一一对应连接;为每个节点网络代理配置对应的虚拟区块链节点的节点标识。
处理器执行计算机程序时实现以下步骤:为真实区块链网络中每个真实的节点设备分别确定一个对应的虚拟区块链节点;根据网络结构信息包括的节点间的连接关系,确定建立通信连接的两个真实的节点设备;在局域网中建立所述两个真实的节点设备对应的两个虚拟区块链节点的节点网络代理之间的通信连接。
处理器执行计算机程序时实现以下步骤:向网络策略面板提交测试信息,测试信息包括待测试的网络策略及网络策略所针对的节点规模信息;通过网络策略面板将网络策略发送给节点规模信息对应的虚拟区块链节点的节点网络代理;通过节点网络代理基于网络策略进行网络包的处理;根据节点网络代理对网络策略的执行情况,记录网络策略对应的测试日志。
网络策略包括延迟策略,处理器执行计算机程序时实现以下步骤:当节点网络代理需要转发网络包时,延迟网络策略包括的延迟时长再转发网络包;或者,当节点网络代理需要转发网络包时,从网络策略包括的延迟时间范围中选择一个延迟时长,延迟选择的延迟时长再转发网络包。
网络策略包括丢包策略,处理器执行计算机程序时实现以下步骤:通过节点网络代理根据丢包策略包括的丢包比例对接收到的网络包进行丢包处理。
网络策略包括拒绝策略,处理器执行计算机程序时实现以下步骤:通过节点网络代理确定接收到的网络请求是否满足拒绝策略包括的请求报文的模式;如果是,通过节点网络代理拒绝响应网络请求。
本申请实施例还提出了一种存储有计算机可读指令的存储介质,如图5所示,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:获取待测试的真实区块链网络的网络结构信息,网络结构信息包括真实区块链网络中的节点数目以及节点间的连接关系;在局域网中部署节点数目个虚拟区块链节点;为每个虚拟区块链节点分别分配一个节点网络代理;根据连接关系,建立节点网络代理之间的通信连接;在局域网中部署网络策略面板,建立网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;通过网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
处理器还可以执行以下步骤:在局域网中部署节点数目个节点网络代理;将节点网络代理与虚拟区块链节点一一对应连接;为每个节点网络代理配置对应的虚拟区块链节点的节点标识。
处理器还可以执行以下步骤:为真实区块链网络中每个真实的节点设备分别确定一个对应的虚拟区块链节点;根据网络结构信息包括的节点间的连接关系,确定建立通信连接的两个真实的节点设备;在局域网中建立所述两个真实的节点设备对应的两个虚拟区块链节点的节点网络代理之间的通信连接。
处理器还可以执行以下步骤:向网络策略面板提交测试信息,测试信息包括待测试的网络策略及网络策略所针对的节点规模信息;通过网络策略面板将网络策略发送给节点规模信息对应的虚拟区块链节点的节点网络代理;通过节点网络代理基于网络策略进行网络包的处理;根据节点网络代理对网络策略的执行情况,记录网络策略对应的测试日志。
网络策略包括延迟策略,处理器还可以执行以下步骤:当节点网络代理需要转发网络包时,延迟网络策略包括的延迟时长再转发网络包;或者,当节点网络代理需要转发网络包时,从网络策略包括的延迟时间范围中选择一个延迟时长,延迟选择的延迟时长再转发网络包。
网络策略包括丢包策略,处理器还可以执行以下步骤:通过节点网络代理根据丢包策略包括的丢包比例对接收到的网络包进行丢包处理。
网络策略包括拒绝策略,处理器还可以执行以下步骤:通过节点网络代理确定接收到的网络请求是否满足拒绝策略包括的请求报文的模式;如果是,通过节点网络代理拒绝响应网络请求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种区块链网络的测试方法,其特征在于,包括:
获取待测试的真实区块链网络的网络结构信息,所述网络结构信息包括所述真实区块链网络中的节点数目以及节点间的连接关系;
在局域网中部署所述节点数目个虚拟区块链节点;
为每个虚拟区块链节点分别分配一个节点网络代理;
根据所述连接关系建立节点网络代理之间的通信连接;
在所述局域网中部署网络策略面板,建立所述网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;
通过所述网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
2.根据权利要求1所述的方法,其特征在于,所述为每个虚拟区块链节点分别分配一个节点网络代理,包括:
在所述局域网中部署所述节点数目个节点网络代理;
将所述节点网络代理与所述虚拟区块链节点一一对应连接;
为每个所述节点网络代理配置对应的虚拟区块链节点的节点标识。
3.根据权利要求1所述的方法,其特征在于,所述根据所述连接关系建立节点网络代理之间的通信连接,包括:
为所述真实区块链网络中每个真实的节点设备分别确定一个对应的虚拟区块链节点;
根据所述连接关系,确定建立通信连接的两个真实的节点设备;
建立所述两个真实的节点设备对应的两个虚拟区块链节点的节点网络代理之间的通信连接。
4.根据权利要求1所述的方法,其特征在于,所述通过所述网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试,包括:
向所述网络策略面板提交测试信息,所述测试信息包括待测试的网络策略及所述网络策略所针对的节点规模信息;
通过所述网络策略面板将所述网络策略发送给所述节点规模信息对应的节点网络代理;
通过所述节点网络代理基于所述网络策略进行网络包的处理;
根据所述节点网络代理对所述网络策略的执行情况,记录所述网络策略对应的测试日志。
5.根据权利要求4所述的方法,其特征在于,所述网络策略包括延迟策略,所述通过所述节点网络代理基于所述网络策略进行网络包的处理,包括:
当所述节点网络代理需要转发网络包时,延迟所述网络策略包括的延迟时长再转发所述网络包;或者,
当所述节点网络代理需要转发网络包时,从所述网络策略包括的延迟时间范围中选择一个延迟时长,延迟选择的所述延迟时长再转发所述网络包。
6.根据权利要求4所述的方法,其特征在于,所述网络策略包括丢包策略,所述通过所述节点网络代理基于所述网络策略进行网络包的处理,包括:
通过所述节点网络代理根据所述丢包策略包括的丢包比例对接收到的网络包进行丢包处理。
7.根据权利要求4所述的方法,其特征在于,所述网络策略包括拒绝策略,所述通过所述节点网络代理基于所述网络策略进行网络包的处理,包括:
通过所述节点网络代理确定接收到的网络请求是否满足所述拒绝策略包括的请求报文的模式;
如果是,通过所述节点网络代理拒绝响应所述网络请求。
8.一种区块链网络的测试装置,其特征在于,包括:
获取模块,用于获取待测试的真实区块链网络的网络结构信息,所述网络结构信息包括所述真实区块链网络中的节点数目以及节点间的连接关系;
虚拟节点部署模块,用于在局域网中部署所述节点数目个虚拟区块链节点;
节点代理分配模块,用于为每个虚拟区块链节点分别分配一个节点网络代理;
建立连接模块,用于根据所述连接关系建立节点网络代理之间的通信连接;在所述局域网中部署网络策略面板,建立所述网络策略面板与每个虚拟区块链节点的节点网络代理之间的通信连接;
测试模块,用于通过所述网络策略面板和每个虚拟区块链节点的节点网络代理,对待测试的网络策略进行测试。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111554975.5A CN114422409A (zh) | 2021-12-17 | 2021-12-17 | 区块链网络的测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111554975.5A CN114422409A (zh) | 2021-12-17 | 2021-12-17 | 区块链网络的测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114422409A true CN114422409A (zh) | 2022-04-29 |
Family
ID=81267890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111554975.5A Pending CN114422409A (zh) | 2021-12-17 | 2021-12-17 | 区块链网络的测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422409A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225510A (zh) * | 2022-07-19 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 一种区块链公链网络结构的获取方法、装置、电子设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170590A (zh) * | 2017-12-12 | 2018-06-15 | 北京大学深圳研究生院 | 一种区块链系统的测试系统和方法 |
US20180278459A1 (en) * | 2017-03-27 | 2018-09-27 | Cisco Technology, Inc. | Sharding Of Network Resources In A Network Policy Platform |
CN109617759A (zh) * | 2018-12-04 | 2019-04-12 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 区块链系统稳定性测试方法、装置、设备及存储介质 |
WO2019072288A2 (en) * | 2018-11-30 | 2019-04-18 | Alibaba Group Holding Limited | TEST PLATFORM FOR BLOCK CHAIN NETWORKS |
CN109873808A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 区块链节点之间的通信方法及装置、存储介质及电子设备 |
WO2019113016A1 (en) * | 2017-12-04 | 2019-06-13 | Dan Kikinis | System and method for performance testing of scalable distributed network transactional databases |
CN111209262A (zh) * | 2020-01-10 | 2020-05-29 | 浪潮天元通信信息系统有限公司 | 一种基于区块链的大规模分布式安全存储系统 |
CN111949531A (zh) * | 2020-08-10 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 区块链网络的测试方法、装置、介质及电子设备 |
CN112073269A (zh) * | 2020-09-14 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 区块链网络测试方法、装置、服务器及存储介质 |
CN112134762A (zh) * | 2020-09-24 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 针对区块链网络结构的测试方法、装置、终端和存储介质 |
CN112990781A (zh) * | 2021-04-29 | 2021-06-18 | 北京橙色云科技有限公司 | 一种基于区块链的信用评估方法、装置及存储介质 |
CN113411232A (zh) * | 2021-06-16 | 2021-09-17 | 深圳大学 | 一种区块链仿真测试系统及应用服务器 |
WO2021212754A1 (zh) * | 2020-04-24 | 2021-10-28 | 平安科技(深圳)有限公司 | 基于直连测试网络的网关测试方法、装置和计算机设备 |
-
2021
- 2021-12-17 CN CN202111554975.5A patent/CN114422409A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180278459A1 (en) * | 2017-03-27 | 2018-09-27 | Cisco Technology, Inc. | Sharding Of Network Resources In A Network Policy Platform |
WO2019113016A1 (en) * | 2017-12-04 | 2019-06-13 | Dan Kikinis | System and method for performance testing of scalable distributed network transactional databases |
CN108170590A (zh) * | 2017-12-12 | 2018-06-15 | 北京大学深圳研究生院 | 一种区块链系统的测试系统和方法 |
WO2019072288A2 (en) * | 2018-11-30 | 2019-04-18 | Alibaba Group Holding Limited | TEST PLATFORM FOR BLOCK CHAIN NETWORKS |
CN109617759A (zh) * | 2018-12-04 | 2019-04-12 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 区块链系统稳定性测试方法、装置、设备及存储介质 |
CN109873808A (zh) * | 2019-01-11 | 2019-06-11 | 平安科技(深圳)有限公司 | 区块链节点之间的通信方法及装置、存储介质及电子设备 |
CN111209262A (zh) * | 2020-01-10 | 2020-05-29 | 浪潮天元通信信息系统有限公司 | 一种基于区块链的大规模分布式安全存储系统 |
WO2021212754A1 (zh) * | 2020-04-24 | 2021-10-28 | 平安科技(深圳)有限公司 | 基于直连测试网络的网关测试方法、装置和计算机设备 |
CN111949531A (zh) * | 2020-08-10 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 区块链网络的测试方法、装置、介质及电子设备 |
CN112073269A (zh) * | 2020-09-14 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 区块链网络测试方法、装置、服务器及存储介质 |
CN112134762A (zh) * | 2020-09-24 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 针对区块链网络结构的测试方法、装置、终端和存储介质 |
CN112990781A (zh) * | 2021-04-29 | 2021-06-18 | 北京橙色云科技有限公司 | 一种基于区块链的信用评估方法、装置及存储介质 |
CN113411232A (zh) * | 2021-06-16 | 2021-09-17 | 深圳大学 | 一种区块链仿真测试系统及应用服务器 |
Non-Patent Citations (3)
Title |
---|
周鸣爱;: "区块链测试技术研究", 网络空间安全, no. 07, 25 July 2020 (2020-07-25) * |
邓晓宇;: "一种区块链测试管理平台设计", 通讯世界, no. 01, 25 January 2020 (2020-01-25) * |
金可仲;刘军;陈胜凯;: "基于网络功能虚拟化的网络测试实验平台构建", 实验技术与管理, no. 11, 26 November 2018 (2018-11-26) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225510A (zh) * | 2022-07-19 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 一种区块链公链网络结构的获取方法、装置、电子设备 |
CN115225510B (zh) * | 2022-07-19 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 一种区块链公链网络结构的获取方法、装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111431758B (zh) | 云网络设备的测试方法、装置、存储介质和计算机设备 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN111147538B (zh) | 服务功能链路径选择方法与系统 | |
CN113489603B (zh) | 一种网络靶场中交互式背景流量发生方法与系统 | |
CN114157667A (zh) | 一种面向网关设备的算力网络服务系统及方法 | |
US20050286439A1 (en) | Method of testing a router, and a test system | |
CN109167762A (zh) | 一种iec104报文校验方法及装置 | |
CN111884875A (zh) | 一种离线设备确定方法及装置 | |
CN114553752A (zh) | 基于仿真软件的网络性能测试方法、装置和计算机设备 | |
CN114422409A (zh) | 区块链网络的测试方法、装置、设备及存储介质 | |
CN107959702B (zh) | 路由方法和装置 | |
CN112398857B (zh) | 防火墙测试方法、装置、计算机设备和存储介质 | |
CN110855528B (zh) | 报文处理方法及测试设备 | |
CN110311828B (zh) | 一种网络验证的方法、装置、计算机存储介质及电子设备 | |
Sallal et al. | Security and performance evaluation of master node protocol in the bitcoin peer-to-peer network | |
US11621893B2 (en) | Methods, systems, and computer readable media for establishing dynamic agent associations in a cloud computing environment | |
CN113452575B (zh) | 业务测试方法、系统、设备和存储介质 | |
CN112866013B (zh) | 一种网络配置方法、装置及系统 | |
CN111741487B (zh) | 无线网格网络路由选择的测试方法、装置和终端设备 | |
CN111107083B (zh) | 一种白名单规格的测试方法及装置 | |
CN114358938A (zh) | 交易、区块的广播方法、设备和存储介质 | |
CN105245635B (zh) | FCoE通信方法、装置及系统 | |
CN113472558B (zh) | 网络部署的方法及装置 | |
CN113535464B (zh) | 一种容灾备份方法、服务器、集群系统和存储装置 | |
CN110475269B (zh) | 多ap的测试方法及装置 |
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 |