本发明涉及计算机技术领域,尤其涉及一种网络性能测试的方法和装置。
背景技术:
云计算允许数字技术渗透到社会和经济的每一个角落,是社会发展的大趋势。在云计算网络性能测试中,需要测试公有云用户端到端的网络性能,以得到网络性能参数,用于评价公有云网络产品的服务能力。公有云是指第三方提供商为用户提供的能够使用的云,其核心属性是共享资源服务,例如,阿里云、华为云、京东云等。
其中,端到端的链路可以是虚拟机到虚拟机,也可以通过搭建专线网络,测试从公有云的虚拟机到用户自建机房的机器。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。现有技术,通常使用网络性能测试工具,例如iperf、netperf等等,对公有云网络性能进行测试。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术测试公有云的网络性能的方法中,由于系统缓存的容量有限,会遇到物理网卡已经收到数据包,但是测试工具自身的处理能力有限或者内核协议栈(即,在内核空间实现的网络协议栈)限制,导致数据包来不及处理,造成得到的性能参数不够准确,不能准确的描述网络的性能。
技术实现要素:
有鉴于此,本发明实施例提供一种网络性能测试的方法和装置,能够得到准确的性能参数,提高网络性能测试的准确性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种网络性能测试的方法。
本发明实施例的一种网络性能测试的方法,包括:创建与网络性能测试任务相关的镜像文件;基于创建的镜像文件,部署虚拟机;利用部署的虚拟机执行所述测试任务,以获得网络性能参数。
可选地,创建与网络性能测试任务相关的镜像文件包括:根据网络性能测试任务,调整虚拟机的配置参数;基于所述配置参数,创建镜像文件。
可选地,调整虚拟机的配置参数包括:解除虚拟机网卡的默认驱动,并将所述虚拟机网卡的驱动更改为用户态驱动;部署所述虚拟机的收包工具和发包工具。
可选地,所述镜像文件包括:数据层开发套件;以及所述部署的虚拟机具有两个网卡,其中一个网卡被所述数据层开发套件托管。
可选地,所述部署的虚拟机的收包工具和\或发包工具包括:被所述数据层开发套件托管的网卡。
可选地,所述镜像文件包括:网络性能测试任务的可执行程序;以及利用部署的虚拟机执行所述测试任务包括:利用所述部署的虚拟机执行所述网络性能测试任务的可执行程序。
为实现上述目的,根据本发明实施例的另一方面,提供了一种网络性能测试的装置。
本发明实施例的一种网络性能测试的装置,包括:创建模块,用于创建与网络性能测试任务相关的镜像文件;部署模块,用于基于创建的镜像文件,部署虚拟机;执行模块,用于利用部署的虚拟机执行所述测试任务,以获得网络性能参数。
可选地,所述创建模块还用于:根据网络性能测试任务,调整虚拟机的配置参数;基于所述配置参数,创建镜像文件。
可选地,所述部署模块还用于:解除虚拟机网卡的默认驱动,并将所述虚拟机网卡的驱动更改为用户态驱动;部署所述虚拟机的收包工具和发包工具。
可选地,所述镜像文件包括:数据层开发套件;以及所述部署的虚拟机具有两个网卡,其中一个网卡被所述数据层开发套件托管。
可选地,所述部署的虚拟机的收包工具和\或发包工具包括:被所述数据层开发套件托管的网卡。
可选地,所述镜像文件包括:网络性能测试任务的可执行程序;以及所述执行模块还用于:利用所述部署的虚拟机执行所述网络性能测试任务的可执行程序。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明实施例的网络性能测试的方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本发明实施例的网络性能测试的方法。
上述发明中的一个实施例具有如下优点或有益效果:能够根据网络性能测试需求,创建镜像文件,然后利用镜像文件部署虚拟机,进而对网络性能进行测试,从而可以得到准确的性能参数,提高性能测试的准确性;本发明实施例中首先调整虚拟机的配置参数,然后利用调整后的配置参数创建镜像文件,从而可以根据需求设定虚拟机的配置参数,提高了技术方案的实用性;本发明实施例中将默认驱动更改为用户态驱动,从而可以解决内核协议栈的约束问题;本发明实施例中部署了收包工具和发包工具,从而可以解决受测试工具的应用程序约束的问题;本发明实施例中部署的虚拟机具有两个网卡,其中一个网卡被镜像文件中的数据层开发套件托管,从而可以避开测试工具和内核协议栈的影响,直接借助数据层开发套件收发数据包,提高性能参数的准确性;本发明实施例中部署的虚拟机的一个网卡被数据层开发套件托管,从而可以利用托管的网卡收包和\或发包;本发明实施例中利用部署的虚拟机执行镜像文件中的网络性能测试任务的可执行程序,可以适用于任何环境的网络性能测试。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是现有技术中公有云网络性能测试的方法示意图;
图2是根据本发明实施例的网络性能测试的方法的主要步骤的示意图;
图3是根据本发明一个可参考实施例的网络性能测试的方法的主要流程的示意图;
图4是根据本发明实施例的网络性能测试的装置的主要模块的示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
测试公有云的网络性能的方法中,公有云的用户端对端的通信链路可能会很长,约束条件也较多,比如测试工具本身收发数据包的能力、虚拟机所在计算节点ovs(openvswitch,开源虚拟交换机)的性能瓶颈、物理节点的网卡带宽以及qos(qualityofservice,服务质量)的限速等等,这些都会影响网络的性能。而针对公有云网络产品本身,希望能够尽可能的排除这些约束条件的制约,得到网络本身的性能参数,更客观的评价公有云网络产品的服务能力。
现有技术采用测试工具对公有云的网络性能进行测试,图1是现有技术中公有云网络性能测试的方法示意图。如图1所示,以测试工具iperf为例,简要介绍一下iperf的实现原理:iperf以client/server的模式工作(即,若测试一个虚拟机到一个虚拟机的网络性能,随机选择其中一个虚拟机为client端,另一个虚拟机为server端),首先建立控制连接,连接测试通过后,再建立数据连接,用来传递数据包,然后发送测试数据,获取测试结果。
虽然使用测试工具可以获取网络性能参数,例如网络带宽、丢包率和网络时延等,但是测试工具自身的处理能力有限,并且现有技术使用的技术手段均运行在操作系统的内核态(即,当一个任务/进程执行系统调用而陷入内核代码中执行时,称进程处于内核状态),会受到内核协议栈限制,导致测试的结果不够准确,不能准确的获取网络的性能参数。为了解决这个问题,曾经尝试过修改操作系统,如linux(即,一个性能稳定的多用户网络操作系统)的内核参数,比如调整udp(userdatagramprotocol,用户数据报协议)收发包缓冲区的大小,希望能够通过性能调优来解决处理速度慢导致的问题,但是效果甚微。其中,网络栈的架构包括三个部分:最上面的应用层在用户空间实现,在内核空间中实现网络子系统,最底部为物理设备,提供了对网络的连接能力。当一个进程执行系统调用而进入内核代码中执行时,称进程处于内核运行态(简称为内核态)。当进程在执行用户自己的代码时,则称其处于用户运行态(简称为用户态)。内核空间中存放的是内核代码和数据,操作系统和驱动程序运行在内核态,用户空间中存放的是用户程序的代码和数据。在内核空间实现的网络协议栈,称之为内核协议栈。
针对现有技术的缺陷,本发明提出了基于镜像文件对公有云的网络性能进行测试的方法。图2是根据本发明实施例的网络性能测试的方法的主要步骤的示意图。作为本发明的一个实施例,如图2所示,本发明实施例的网络性能测试的方法的主要步骤可以包括:
步骤s201:创建与网络性能测试任务相关的镜像文件。其中,镜像文件和压缩包类似,它将一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个操作系统、游戏等。
作为本发明的又一个实施例,步骤s201可以包括:根据网络性能测试任务,调整虚拟机的配置参数;基于配置参数,创建镜像文件。本发明在创建镜像文件的时候,需要先调整虚拟机的默认配置参数,然后根据调整后的参数,创建镜像文件。
作为本发明的再一个实施例,调整虚拟机的配置参数可以包括:解除虚拟机网卡的默认驱动,并将虚拟机网卡的驱动更改为用户态驱动;部署虚拟机的收包工具和\或发包工具。考虑到现有技术中,虚拟机网卡的默认驱动是内核态驱动,因此测试网络性能的手段运行在内核态,会受内核协议栈限制,因此本发明中调整虚拟机的配置参数时,将虚拟机网卡的驱动更改为用户态驱动,也就是说把内核的功能往用户态去转换,让用户态的程序去执行一些默认是内核处理的操作。由于现有技术中采用测试工具对公有云网络性能进行测试,会受到测试工具处理能力的限制,因此本发明中调整虚拟机的配置参数时,部署虚拟机的收包工具和\或发包工具。
步骤s202:基于创建的镜像文件,部署虚拟机。虚拟机是一个模拟的完整计算机系统,安装好的虚拟机可以理解为拥有了一台刚装好硬盘和内存等的计算机,但是硬件上并没有安装操作系统,所以此时的虚拟机本身是运行不了的,还需要安装操作系统才能使用,而在拥有镜像文件的情况下,可以直接用虚拟机打开该镜像文件使用。因此本发明中,根据网络性能测试需求创建镜像文件,可以使用该镜像文件部署多台虚拟机进行网络性能测试,可以避免因为应用程序自身性能的原因造成网络性能测试数据不准确的情形。
作为本发明的又一个实施例,镜像文件可以包括:数据层开发套件(dataplanedevelopmentkit,简称为dpdk)。部署的虚拟机具有两个网卡,其中一个网卡(eth1)被dpdk托管,另一个网卡(eth2)是管理网卡。
本发明中部署的虚拟机中的一个网卡被dpdk托管,因此在本发明的另一个实施例中,可以用dpdk通过用户态驱动收包和\或发包,这样可以避开应用程序和内核协议栈的影响,得到一个准确的网络性能参数。本发明中,在接收端用由dpdk托管的网卡来接收数据包,可以统计网卡接收的数据包的数量,然后通过对比发送端发送的数据包的数量,进而可以计算丢包率。如果设定接收方只接收数据包,可以测试单方向通信的网络性能;如果设置接收方回复数据包,可以测试双方向通信时的网络性能。当然,本发明中也可以设置其他的工具用于收包和\或发包,本发明对此不作限制。
步骤s203:利用部署的虚拟机执行测试任务,以获得网络性能参数。在部署虚拟机之后,可以利用虚拟机执行网络性能的测试任务,得到网络性能参数,例如,吞吐量、丢包率和时延等,利用这些性能参数生成统计报表。本发明中,执行测试网络性能的可执行程序的时候,可以在虚拟机中的eth1网卡中设置以下发送数据包的参数:源/目的网络协议、网关的物理地址、数据包的长度以及指定协议类型,比如:udp(userdatagramprotocol用户数据报协议)、tcp(transmissioncontrolprotocol传输控制协议)和icmp(internetcontrolmessageprotocol网络控制报文协议)等。本发明中,也可以控制发送数据包类型为满足公有云环境的隧道协议,还可以通过设置中央处理器的空转周期,用于控制每秒钟发包的数量以及字节数,从而满足网络带宽和qos的条件。
作为本发明的再一个实施例,镜像文件还可以包括:网络性能测试任务的可执行程序。步骤s203中的利用部署的虚拟机执行测试任务可以包括:利用部署的虚拟机执行网络性能测试任务的可执行程序。本发明中直接将有关网络性能测试任务的可执行程序放入镜像文件中,然后虚拟机可以直接执行该可执行程序,测试环境简单快捷,可以适用于任何环境的网络性能测试。
本发明中,镜像文件还可以包括:大页内存hugepage。操作系统以内存页为单位管理内存,内存页的大小对系统性能有影响,内存页设得太小,内存页会很多,管理内存页的数组会比较大,耗内存,因此本发明中设置大页内存。
图3是根据本发明一个可参考实施例的网络性能测试的方法的主要流程的示意图。如图3所示,网络性能测试的方法的主要流程可以包括:步骤s301,根据网络性能测试任务,解除虚拟机网卡的默认驱动,将驱动更改为用户态驱动;步骤s302,部署虚拟机收发数据包的工具;步骤s303,基于调整后的虚拟机的配置参数,创建镜像文件,其中镜像文件中包括dpdk、有关网络性能测试的可执行程序以及内存大页;步骤s304,利用创建的镜像文件,部署具有两个网卡的虚拟机,其中一个网卡由dpdk托管,用于收发数据包;步骤s305,利用部署的虚拟机执行有关网络性能测试的可执行程序,获得网络性能参数,以生成统计报表。
根据本发明实施例的网络性能测试的技术方案可以看出,能够根据网络性能测试需求,创建镜像文件,然后利用镜像文件部署虚拟机,进而对网络性能进行测试,从而可以得到准确的性能参数,提高性能测试的准确性;本发明实施例中首先调整虚拟机的配置参数,然后利用调整后的配置参数创建镜像文件,从而可以根据需求设定虚拟机的配置参数,提高了技术方案的实用性;本发明实施例中将默认驱动更改为用户态驱动,从而可以解决内核协议栈的约束问题;本发明实施例中部署了收包工具和发包工具,从而可以解决受测试工具的应用程序约束的问题;本发明实施例中部署的虚拟机具有两个网卡,其中一个网卡被镜像文件中的数据层开发套件托管,从而可以避开测试工具和内核协议栈的影响,直接借助数据层开发套件收发数据包,提高性能参数的准确性;本发明实施例中部署的虚拟机的一个网卡被数据层开发套件托管,从而可以利用托管的网卡收包和\或发包;本发明实施例中利用部署的虚拟机执行镜像文件中的网络性能测试任务的可执行程序,可以适用于任何环境的网络性能测试。
图4是根据本发明实施例的网络性能测试的装置的主要模块的示意图。如图4所示,本发明实施例的网络性能测试的装置400主要包括以下模块:创建模块401、部署模块402和执行模块403。
其中,创建模块401可用于创建与网络性能测试任务相关的镜像文件。部署模块402可用于基于创建的镜像文件,部署虚拟机。执行模块403可用于利用部署的虚拟机执行测试任务,以获得网络性能参数。
本发明实施例中,创建模块401还可用于:根据网络性能测试任务,调整虚拟机的配置参数;基于配置参数,创建镜像文件。
本发明实施例中,部署模块402还可用于:解除虚拟机网卡的默认驱动,并将虚拟机网卡的驱动更改为用户态驱动;部署虚拟机的收包工具和发包工具。
本发明实施例中,镜像文件可以包括:数据层开发套件。部署的虚拟机可以具有两个网卡,其中一个网卡被数据层开发套件托管。
本发明实施例中,部署的虚拟机的收包工具和\或发包工具可以包括:被dpdk托管的网卡。
本发明实施例中,镜像文件可以包括:网络性能测试任务的可执行程序。执行模块403还可用于:利用部署的虚拟机执行网络性能测试任务的可执行程序。
从以上描述可以看出,能够根据网络性能测试需求,创建镜像文件,然后利用镜像文件部署虚拟机,进而对网络性能进行测试,从而可以得到准确的性能参数,提高性能测试的准确性;本发明实施例中首先调整虚拟机的配置参数,然后利用调整后的配置参数创建镜像文件,从而可以根据需求设定虚拟机的配置参数,提高了技术方案的实用性;本发明实施例中将默认驱动更改为用户态驱动,从而可以解决内核协议栈的约束问题;本发明实施例中部署了收包工具和发包工具,从而可以解决受测试工具的应用程序约束的问题;本发明实施例中部署的虚拟机具有两个网卡,其中一个网卡被镜像文件中的数据层开发套件托管,从而可以避开测试工具和内核协议栈的影响,直接借助数据层开发套件收发数据包,提高性能参数的准确性;本发明实施例中部署的虚拟机的一个网卡被数据层开发套件托管,从而可以利用托管的网卡收包和\或发包;本发明实施例中利用部署的虚拟机执行镜像文件中的网络性能测试任务的可执行程序,可以适用于任何环境的网络性能测试。
图5示出了可以应用本发明实施例的网络性能测试的方法或网络性能测试的装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的网络性能测试的方法一般由服务器505执行,相应地,网络性能测试的装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括创建模块、部署模块和执行模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,创建模块还可以被描述为“创建与网络性能测试任务相关的镜像文件的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:创建与网络性能测试任务相关的镜像文件;基于创建的镜像文件,部署虚拟机;利用部署的虚拟机执行测试任务,以获得网络性能参数。
根据本发明实施例的技术方案,能够根据网络性能测试需求,创建镜像文件,然后利用镜像文件部署虚拟机,进而对网络性能进行测试,从而可以得到准确的性能参数,提高性能测试的准确性;本发明实施例中首先调整虚拟机的配置参数,然后利用调整后的配置参数创建镜像文件,从而可以根据需求设定虚拟机的配置参数,提高了技术方案的实用性;本发明实施例中将默认驱动更改为用户态驱动,从而可以解决内核协议栈的约束问题;本发明实施例中部署了收包工具和发包工具,从而可以解决受测试工具的应用程序约束的问题;本发明实施例中部署的虚拟机具有两个网卡,其中一个网卡被镜像文件中的数据层开发套件托管,从而可以避开测试工具和内核协议栈的影响,直接借助数据层开发套件收发数据包,提高性能参数的准确性;本发明实施例中部署的虚拟机的一个网卡被数据层开发套件托管,从而可以利用托管的网卡收包和\或发包;本发明实施例中利用部署的虚拟机执行镜像文件中的网络性能测试任务的可执行程序,可以适用于任何环境的网络性能测试。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。