CN113468045A - 一种服务器批量配置软件的测试系统、方法及组件 - Google Patents
一种服务器批量配置软件的测试系统、方法及组件 Download PDFInfo
- Publication number
- CN113468045A CN113468045A CN202110626116.6A CN202110626116A CN113468045A CN 113468045 A CN113468045 A CN 113468045A CN 202110626116 A CN202110626116 A CN 202110626116A CN 113468045 A CN113468045 A CN 113468045A
- Authority
- CN
- China
- Prior art keywords
- batch configuration
- server
- virtual machine
- request
- batch
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004088 simulation Methods 0.000 claims abstract description 32
- 238000010998 test method Methods 0.000 claims abstract description 5
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 238000012827 research and development Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种服务器批量配置软件的测试系统、方法及组件。本申请利用虚拟机组成了服务器模拟集群,并通过Nginx反向代理设备连接测试客户端和服务器模拟集群,当测试客户端基于服务器批量配置软件发起批量配置请求后,Nginx反向代理设备将批量配置请求转发至模拟集群中的每个虚拟机,使得每个虚拟机按照批量配置请求对自身所模拟的物理服务器进行批量配置,从而测试服务器批量配置软件。该方案利用低资源消耗的虚拟机代替物理服务器,使得服务器批量配置软件能够在低资源消耗的场景中进行测试,提高了软件研发和测试效率。相应地,本申请提供的一种服务器批量配置软件的测试方法及组件,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种服务器批量配置软件的测试系统、方法及组件。
背景技术
在服务器的日常运维中,服务器配置是常规的工作。对于较大的机房来说,机器型号繁多,配置的方式多种多样,涉及到多种工具和指令,这就对运维人员有比较高的技术要求。其次针对大量服务器采用单台配置的方式是低效的,往往需要采用批量配置工具来进行批量配置,因此研发人员往往针对批量配置的场景研发批量配置的软件程序。这种程序一般是采用多线程实现的,但是研发人员所在的实验室没有足够的物理服务器,无法对其所研发的服务器批量配置软件进行测试。若是专门搭建测试物理环境,无疑会造成服务器资源的浪费。服务器批量配置软件即:能够对一个或几个服务器同时配置多种参数的程序。
因此,如何既能避免服务器资源浪费,又能测试服务器批量配置软件,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种服务器批量配置软件的测试系统、方法及组件,以便既能避免服务器资源浪费,又能测试服务器批量配置软件。其具体方案如下:
第一方面,本申请提供了一种服务器批量配置软件的测试系统,包括:
测试客户端,用于部署需要测试的服务器批量配置软件,并基于所述服务器批量配置软件发起批量配置请求;
Nginx反向代理设备,用于通过反向代理机制将所述批量配置请求转发至模拟集群中的每个虚拟机;
所述模拟集群中的每个虚拟机,用于按照所述批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果,以使所述测试客户端根据所述配置结果确定所述服务器批量配置软件的测试结果。
优选地,所述模拟集群中的每个虚拟机基于自身所部署的HTTP服务模拟器和IPMI服务模拟器模拟物理服务器;
其中,所述HTTP服务模拟器用于监听虚拟机所模拟的物理服务器的HTTP端口;所述IPMI服务模拟器用于监听虚拟机所模拟的物理服务器的IPMI端口。
优选地,所述HTTP服务模拟器基于MockServer或wiremock实现。
优选地,所述HTTP服务模拟器模拟有电源接口、配置查询接口以及固件刷新接口。
优选地,所述电源接口、所述配置查询接口以及所述固件刷新接口均配置有用于区分HTTP操作类型的过滤器。
优选地,所述IPMI服务模拟器模拟有电源操作接口和黑盒日志收集接口。
优选地,所述模拟集群中的每个虚拟机具体用于:
若所述批量配置请求包括HTTP请求,则利用自身所部署的HTTP服务模拟器解析所述批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果;
若所述批量配置请求包括IPMI请求,则利用自身所部署的IPMI服务模拟器解析所述批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果。
第二方面,本申请提供了一种服务器批量配置软件的测试方法,包括:
基于需要测试的服务器批量配置软件发起批量配置请求;
利用Nginx反向代理设备通过反向代理机制将所述批量配置请求转发至模拟集群中的每个虚拟机,以使所述模拟集群中的每个虚拟机按照所述批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果;
根据所述配置结果确定所述服务器批量配置软件的测试结果。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的方法。
通过以上方案可知,本申请提供了一种服务器批量配置软件的测试系统,包括:测试客户端,用于部署需要测试的服务器批量配置软件,并基于所述服务器批量配置软件发起批量配置请求;Nginx反向代理设备,用于通过反向代理机制将所述批量配置请求转发至模拟集群中的每个虚拟机;所述模拟集群中的每个虚拟机,用于按照所述批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果,以使所述测试客户端根据所述配置结果确定所述服务器批量配置软件的测试结果。
可见,本申请利用虚拟机模拟物理服务器,也就是将一个虚拟机看作一个物理服务器,从而形成由虚拟机组成的服务器模拟集群,并通过Nginx反向代理设备连接测试客户端和服务器模拟集群,如此当测试客户端基于服务器批量配置软件发起批量配置请求后,Nginx反向代理设备就可以将批量配置请求转发至模拟集群中的每个虚拟机,使得每个虚拟机按照批量配置请求对自身所模拟的物理服务器进行批量配置,从而测试服务器批量配置软件。该方案利用低资源消耗的虚拟机代替物理服务器,不仅可以避免服务器资源浪费,还脱离了物理服务器,使得服务器批量配置软件能够在低资源消耗的场景中进行测试,提高了软件研发和测试效率。
相应地,本申请提供的一种服务器批量配置软件的测试方法及组件(组件即设备及可读存储介质),也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种服务器批量配置软件的测试系统示意图;
图2为本申请公开的一种服务器批量配置软件的测试方法流程图;
图3为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,研发服务器批量配置软件的实验室没有足够的物理服务器,无法对其所研发的服务器批量配置软件进行测试。若是专门搭建测试物理环境,无疑会造成服务器资源的浪费。为此,本申请提供了一种服务器批量配置软件的测试方案,既能避免服务器资源浪费,又能测试服务器批量配置软件,还提高了软件研发和测试效率。
参见图1所示,本申请实施例公开了一种服务器批量配置软件的测试系统,包括:
测试客户端,用于部署需要测试的服务器批量配置软件,并基于服务器批量配置软件发起批量配置请求。
Nginx反向代理设备,用于通过反向代理机制将批量配置请求转发至模拟集群中的每个虚拟机;该Nginx反向代理设备可以是物理服务器,也可以是部署有相应服务的虚拟机。
模拟集群中的每个虚拟机,用于按照批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果,以使测试客户端根据配置结果确定服务器批量配置软件的测试结果。
在一种具体实施方式中,模拟集群中的每个虚拟机基于自身所部署的HTTP服务模拟器和IPMI服务模拟器模拟物理服务器;其中,HTTP服务模拟器用于监听虚拟机所模拟的物理服务器的HTTP端口(如1089端口);IPMI服务模拟器用于监听虚拟机所模拟的物理服务器的IPMI端口(如623端口)。
HTTP服务模拟器和IPMI服务模拟器可按照下述示例实现。
例如:基于java语言(当然,也可以是其他计算机语言)实现一个HTTP服务模拟器,具体可以在MockServer框架或wiremock框架中实现,具体核心代码可以是:ClientAndServermockServer=startClientAndServer(1089)。该代码模拟了一个查询电源状态的HTTP接口,此处设置端口号为1089,当然端口号也可以是其他;当访问http://ip:1089/power/status这个接口的时候,接口将返回“powerOn”这个电源状态。
具体的,监听1089端口的代码请如下:
mockServer.when(
request()
.withMethod("POST")
.withPath("/power/status")
.withQueryStringParameter("param","path")
.withHeader("Content-Type","multipart/form-data")
)
所有通过HTTP协议访问1089端口的请求,都将被HTTP服务模拟器接收到。当然,还可以为该端口设置过滤器,以区分用户操作类型(如查询电源状态、打开电源、关闭电源等行为),并针对不同请求返回不同数据,以便模拟真实的接口调用方式。其中,针对查询电源状态、打开电源、关闭电源等行为,过滤器中的过滤条件分别可以为:查询电源状态:GET方法,param=query;打开电源:POST方法,param=poweron;关闭电源:POST方法,param=poweroff。当然,过滤条件通过HTTP协议的REST规范设置即可。一般地,HTTP请求有四种方法:GET(查询)、POST(添加)、PUT(修改)、DELETE(删除)。
参见上述代码,对所有发送到1089端口上的HTTP请求进行过滤(根据URL、请求方式<GET/POST/PUT/DELETE>、请求参数或者HTTPheader参数内容等多个维度)。当请求的URL为/power/status,请求协议为POST,请求参数为param=path,HTTP协议请求头中Content-Type这个参数值为“multipart/form-data”时,该请求才会被匹配到,执行下一步处理。
若请求被匹配到,则1089端口返回相应的数据。其中,返回过程的相关代码可参见如下:
respond(
response()
.withCookie(newCookie("ckey","cvalue"))
.withBody("powerOn").withHeader("Content-Type","application/json")
);
在返回过程中,该接口返回的cookie为“ckey=cvalue”,返回的内容为“powerOn”,并且ResponseHeader里面的“Content-Type”参数值为“application/json”,提示接收方接收到的将是json格式的内容。
当然,还可以在HTTP服务模拟器模拟其他接口,如:配置查询接口(用于查询服务区硬件配置情况)、固件刷新接口(用于刷新服务器固件,如BIOS和BMC固件等)。
具体的,模拟的查询服务器CPU配置信息接口的代码如下:
mockServer.when(
request()
.withMethod("GET")
.withPath("/server/info")
.withQueryStringParameter("type","cpu")
)
.respond(
response()
.withCookie(newCookie("ckey","cvalue"))
.withBody("cpu1:intel,cpu2:intel").withHeader("Content-Type","application/js on")
);
}
代码说明如下:
通过HTTP协议调用http://IP/server/info接口,通过GET请求的方式。传入的参数type=cpu,代表查询的是CPU的信息。同时模拟服务接收到这个请求后,模拟返回的数据信息,也就是请求需要查询的CPU信息,返回的结果有两个CPU,cpu1和CPU2,分别是intel型号。返回的内容为application/json格式。
同理,基于python语言(当然,也可以是其他计算机语言)可以实现一个IPMI服务模拟器,以模拟通过IPMI协议访问服务器的接口。IPMI协议是基于UDP实现的应用层协议,在实现上,监听IPMI协议默认的623端口即可,当收到UDP数据包后,按照IPMI协议规范解析数据包内容,然后返回相应的内容即可完成对IPMI协议接口的模拟。具体可以模拟BIOS配置接口、BMC配置接口、电源操作接口和黑盒日志收集接口等。
具体过程可以包括:
第一步:开启一个socket服务,监听623端口,所有发送到623端口的数据包都将被获取,具体代码如下:
context=zmq.Context()
socket=context.socket(zmq.REP)
socket.setsockopt(zmq.LINGER,5)
socket.bind("tcp://127.0.0.1:%s"%623)
poller=zmq.Poller()
poller.register(socket,zmq.POLLIN)
LOG.info('StartedvBMCserveronport%s',server_port)
第二步:通过第一步读取的数据包(即测试客户端发送过来的请求),根据请求的不同,去找不同的处理逻辑。比如请求是查询CPU信息的,将走模拟CPU信息返回的逻辑。如果请求是操作电源开关机的,将走模拟电源开关机的逻辑。
第三步:以上两步完成了IPMI服务模拟器的核心逻辑开发,本步目的是:将该服务可以运行起来,使其常驻于内存当中。在测试客户端看来,跟与一台真正的物理服务器交互的效果是一样的。即:启动IPMI服务应用,以接收623端口的数据信息,按照IPMI协议解析收到的信息,并且返回接口数据。
针对所模拟的各种接口,可以通过IPMItool工具测试接口是否正常。
例如:针对查询电源状态的接口,采用如下命令进行电源状态信息的查询:ipmitool-Ilanplus-Uadmin-Ppassword-H127.0.0.1powerstatus。
在HTTP服务模拟器中,可以写入我们需要模拟的HTTP请求接口,并正确返回接口数据,隔离对物理服务器BMC的依赖,达到通过软件模拟硬件的目的。在IPMI服务模拟器中,也可以写入我们需要模拟的IPMI请求接口,并在接口中返回需要的数据,摆脱对硬件服务器的依赖,其次可以屏蔽不同服务器的接口差异,通过软件模拟的物理服务器容易形成集群,因此极大的方便了服务器批量配置软件的开发调试。
虚拟机基于HTTP服务模拟器和IPMI服务模拟器所模拟的物理服务器对于相同功能接口的配置完全相同,因此可以屏蔽不同服务器的接口差异。而不同厂商的物理服务器针对同一功能的接口配置可能不同,比如同样是查询cpu信息的接口,有的服务器接口是/server/info,有的是/server/cpu。
依据上述可实现HTTP服务模拟器和IPMI服务模拟器,将此二者部署在任一个虚拟机中,该虚拟机即可模拟物理服务器对批量配置请求进行处理。本实施例为使批量配置请求的处理效果更高,利用Nginx反向代理设备进行请求的转发。也是由于批量配置请求一般对应多线程,因此利用Nginx反向代理设备可以通过反向代理机制将多线程路由到不同虚拟机。
具体的,各个虚拟机返回的配置结果可以包括:成功或者失败的状态和具体配置信息。例如:配置请求为查询CPU信息,那么配置结果可以包括:CPU的厂商、型号、频率等,以及查询是否成功的状态标记。
可见,本申请实施例利用虚拟机模拟物理服务器,也就是将一个虚拟机看作一个物理服务器,从而形成由虚拟机组成的服务器模拟集群,并通过Nginx反向代理设备连接测试客户端和服务器模拟集群,如此当测试客户端基于服务器批量配置软件发起批量配置请求后,Nginx反向代理设备就可以将批量配置请求转发至模拟集群中的每个虚拟机,使得每个虚拟机按照批量配置请求对自身所模拟的物理服务器进行批量配置,从而测试服务器批量配置软件。该方案利用低资源消耗的虚拟机代替物理服务器,不仅可以避免服务器资源浪费,还脱离了物理服务器,使得服务器批量配置软件能够在低资源消耗的场景中进行测试,提高了软件研发和测试效率。
基于上述实施例,需要说明的是,HTTP服务模拟器基于MockServer或wiremock实现。HTTP服务模拟器模拟有电源接口、配置查询接口以及固件刷新接口。电源接口、配置查询接口以及固件刷新接口均配置有用于区分HTTP操作类型(增、删、改、查)的过滤器。
在一种具体实施方式中,IPMI服务模拟器模拟有电源操作接口和黑盒日志收集接口。
在一种具体实施方式中,模拟集群中的每个虚拟机具体用于:若批量配置请求包括HTTP请求,则利用自身所部署的HTTP服务模拟器解析批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果;若批量配置请求包括IPMI请求,则利用自身所部署的IPMI服务模拟器解析批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果。
下面对本申请实施例提供的一种服务器批量配置软件的测试方法进行介绍,下文描述的一种服务器批量配置软件的测试方法与上文描述的一种服务器批量配置软件的测试系统可以相互参照。本实施例提供的方案应用于图1所示的测试系统。
参见图2所示,本申请实施例公开了一种服务器批量配置软件的测试方法,包括:
S201、基于需要测试的服务器批量配置软件发起批量配置请求。
在本实施例中,服务器批量配置软件安装于测试客户端,由用户在测试客户端上对服务器批量配置软件进行操作,从而发起批量配置请求。
S202、利用Nginx反向代理设备通过反向代理机制将批量配置请求转发至模拟集群中的每个虚拟机,以使模拟集群中的每个虚拟机按照批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果。
其中,批量配置请求可以是对一个物理服务器配置多种参数的请求,也可以是对多个服务器配置同一种参数的请求。如果批量配置请求是对一个物理服务器配置多种参数的请求,那么每个虚拟机对自身所模拟的物理服务器同时配置多种参数。如果批量配置请求是对多个服务器配置同一种参数的请求,那么每个虚拟机对自身所模拟的物理服务器同时配置该种参数。
S203、根据配置结果确定服务器批量配置软件的测试结果。
其中,Nginx反向代理的原理为:当客户端访问Nginx反向代理设备的时候,Nginx反向代理设备可以将用户的测试请求发给各个虚拟机。此时可设置相应的负载均衡策略。例如有三个虚拟机,在功能上这三个虚拟机是完全一样的,也是完全平等的,Nginx反向代理设备可以根据负载均衡策略,将用户的请求轮询转发给这三个虚拟机。在用户看来,直接请求Nginx反向代理设备与直接请求模拟集群没有任何区别。
在一种具体实施方式中,模拟集群中的每个虚拟机基于自身所部署的HTTP服务模拟器和IPMI服务模拟器模拟物理服务器;
其中,HTTP服务模拟器用于监听虚拟机所模拟的物理服务器的HTTP端口;IPMI服务模拟器用于监听虚拟机所模拟的物理服务器的IPMI端口。
在一种具体实施方式中,HTTP服务模拟器基于MockServer或wiremock实现。
在一种具体实施方式中,HTTP服务模拟器模拟有电源接口、配置查询接口以及固件刷新接口。
在一种具体实施方式中,电源接口、配置查询接口以及固件刷新接口均配置有用于区分HTTP操作类型的过滤器。
在一种具体实施方式中,IPMI服务模拟器模拟有电源操作接口和黑盒日志收集接口。
在一种具体实施方式中,模拟集群中的每个虚拟机具体用于:
若批量配置请求包括HTTP请求,则利用自身所部署的HTTP服务模拟器解析批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果;
若批量配置请求包括IPMI请求,则利用自身所部署的IPMI服务模拟器解析批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果。
可见,本实施例通过HTTP服务模拟器实现一个HTTP服务,通过IPMI服务模拟器实现一个IPMI服务。当批量配置请求需要调用HTTP接口的时候,基于HTTP服务模拟器可以正常返回规范的数据;当批量配置请求调用IPMI接口的时候,基于IPMI服务模拟器可以正常返回规范的数据。同时,服务器批量配置软件只需要启动多线程发送批量配置请求至Nginx反向代理设备,Nginx反向代理设备便可以通过反向代理的机制,将该请求路由到多台虚拟机,从而脱离实际服务器,极大的提高研发效率。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种服务器批量配置软件的测试方法及系统可以相互参照。
参见图3所示,本申请实施例公开了一种电子设备,包括:
存储器301,用于保存计算机程序;
处理器302,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种服务器批量配置软件的测试系统、方法及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的服务器批量配置软件的测试方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种服务器批量配置软件的测试系统,其特征在于,包括:
测试客户端,用于部署需要测试的服务器批量配置软件,并基于所述服务器批量配置软件发起批量配置请求;
Nginx反向代理设备,用于通过反向代理机制将所述批量配置请求转发至模拟集群中的每个虚拟机;
所述模拟集群中的每个虚拟机,用于按照所述批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果,以使所述测试客户端根据所述配置结果确定所述服务器批量配置软件的测试结果。
2.根据权利要求1所述的系统,其特征在于,
所述模拟集群中的每个虚拟机基于自身所部署的HTTP服务模拟器和IPMI服务模拟器模拟物理服务器;
其中,所述HTTP服务模拟器用于监听虚拟机所模拟的物理服务器的HTTP端口;所述IPMI服务模拟器用于监听虚拟机所模拟的物理服务器的IPMI端口。
3.根据权利要求2所述的系统,其特征在于,所述HTTP服务模拟器基于MockServer或wiremock实现。
4.根据权利要求2所述的系统,其特征在于,所述HTTP服务模拟器模拟有电源接口、配置查询接口以及固件刷新接口。
5.根据权利要求4所述的系统,其特征在于,所述电源接口、所述配置查询接口以及所述固件刷新接口均配置有用于区分HTTP操作类型的过滤器。
6.根据权利要求2所述的系统,其特征在于,所述IPMI服务模拟器模拟有电源操作接口和黑盒日志收集接口。
7.根据权利要求2至6任一项所述的系统,其特征在于,所述模拟集群中的每个虚拟机具体用于:
若所述批量配置请求包括HTTP请求,则利用自身所部署的HTTP服务模拟器解析所述批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果;
若所述批量配置请求包括IPMI请求,则利用自身所部署的IPMI服务模拟器解析所述批量配置请求,按照解析结果对自身所模拟的物理服务器进行批量配置后,返回相应的配置结果。
8.一种服务器批量配置软件的测试方法,其特征在于,包括:
基于需要测试的服务器批量配置软件发起批量配置请求;
利用Nginx反向代理设备通过反向代理机制将所述批量配置请求转发至模拟集群中的每个虚拟机,以使所述模拟集群中的每个虚拟机按照所述批量配置请求对自身所模拟的物理服务器进行批量配置,并返回相应的配置结果;
根据所述配置结果确定所述服务器批量配置软件的测试结果。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求8所述的方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626116.6A CN113468045B (zh) | 2021-06-04 | 2021-06-04 | 一种服务器批量配置软件的测试系统、方法及组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626116.6A CN113468045B (zh) | 2021-06-04 | 2021-06-04 | 一种服务器批量配置软件的测试系统、方法及组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468045A true CN113468045A (zh) | 2021-10-01 |
CN113468045B CN113468045B (zh) | 2023-12-29 |
Family
ID=77872256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110626116.6A Active CN113468045B (zh) | 2021-06-04 | 2021-06-04 | 一种服务器批量配置软件的测试系统、方法及组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468045B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205274A (zh) * | 2021-11-02 | 2022-03-18 | 北京百度网讯科技有限公司 | 网络设备的测试方法及其装置 |
CN115208758A (zh) * | 2022-06-14 | 2022-10-18 | 福建新大陆通信科技股份有限公司 | 一种应急广播设备批量管理方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155708A1 (en) * | 2005-01-13 | 2006-07-13 | Microsoft Corporation | System and method for generating virtual networks |
CN101398769A (zh) * | 2008-10-28 | 2009-04-01 | 北京航空航天大学 | 一种对操作系统透明的处理器资源整合利用方法 |
CN102457512A (zh) * | 2010-11-08 | 2012-05-16 | 中标软件有限公司 | 一种瘦客户端服务器虚拟化方法及虚拟瘦客户端服务器 |
US20130304788A1 (en) * | 2012-05-11 | 2013-11-14 | International Business Machines Corporation | Application component decomposition and deployment |
CN104050015A (zh) * | 2014-06-27 | 2014-09-17 | 国家计算机网络与信息安全管理中心 | 一种虚拟机镜像存储分发系统 |
US20140331225A1 (en) * | 2013-05-03 | 2014-11-06 | Vmware, Inc. | Methods and apparatus to assess compliance of a virtual computing environment |
US20150089505A1 (en) * | 2013-09-26 | 2015-03-26 | Infosys Limited | Systems and methods for fault tolerant batch processing in a virtual environment |
CN107092541A (zh) * | 2017-04-27 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种运用虚拟机进行存储性能测试的方法 |
CN107547654A (zh) * | 2017-09-12 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种分布式对象存储集群、部署、服务方法及系统 |
CN109343932A (zh) * | 2018-09-13 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种批量配置虚拟化系统计算节点的系统及方法 |
CN110149396A (zh) * | 2019-05-20 | 2019-08-20 | 华南理工大学 | 一种基于微服务架构的物联网平台构建方法 |
US20200004665A1 (en) * | 2018-06-29 | 2020-01-02 | International Business Machines Corporation | Unit test framework for testing code in a gateway service |
CN111538561A (zh) * | 2020-03-27 | 2020-08-14 | 上海仪电(集团)有限公司中央研究院 | 基于KVM虚拟化技术的OpenStack大规模集群部署测试的方法及系统 |
-
2021
- 2021-06-04 CN CN202110626116.6A patent/CN113468045B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155708A1 (en) * | 2005-01-13 | 2006-07-13 | Microsoft Corporation | System and method for generating virtual networks |
CN101398769A (zh) * | 2008-10-28 | 2009-04-01 | 北京航空航天大学 | 一种对操作系统透明的处理器资源整合利用方法 |
CN102457512A (zh) * | 2010-11-08 | 2012-05-16 | 中标软件有限公司 | 一种瘦客户端服务器虚拟化方法及虚拟瘦客户端服务器 |
US20130304788A1 (en) * | 2012-05-11 | 2013-11-14 | International Business Machines Corporation | Application component decomposition and deployment |
US20140331225A1 (en) * | 2013-05-03 | 2014-11-06 | Vmware, Inc. | Methods and apparatus to assess compliance of a virtual computing environment |
US20150089505A1 (en) * | 2013-09-26 | 2015-03-26 | Infosys Limited | Systems and methods for fault tolerant batch processing in a virtual environment |
CN104050015A (zh) * | 2014-06-27 | 2014-09-17 | 国家计算机网络与信息安全管理中心 | 一种虚拟机镜像存储分发系统 |
CN107092541A (zh) * | 2017-04-27 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种运用虚拟机进行存储性能测试的方法 |
CN107547654A (zh) * | 2017-09-12 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种分布式对象存储集群、部署、服务方法及系统 |
US20200004665A1 (en) * | 2018-06-29 | 2020-01-02 | International Business Machines Corporation | Unit test framework for testing code in a gateway service |
CN109343932A (zh) * | 2018-09-13 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种批量配置虚拟化系统计算节点的系统及方法 |
CN110149396A (zh) * | 2019-05-20 | 2019-08-20 | 华南理工大学 | 一种基于微服务架构的物联网平台构建方法 |
CN111538561A (zh) * | 2020-03-27 | 2020-08-14 | 上海仪电(集团)有限公司中央研究院 | 基于KVM虚拟化技术的OpenStack大规模集群部署测试的方法及系统 |
Non-Patent Citations (1)
Title |
---|
郭大伟;张伟;姜晓艳;: "一种基于Nginx的UDP反向代理服务器数据转发策略", 北京信息科技大学学报(自然科学版), no. 06 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205274A (zh) * | 2021-11-02 | 2022-03-18 | 北京百度网讯科技有限公司 | 网络设备的测试方法及其装置 |
CN114205274B (zh) * | 2021-11-02 | 2024-06-11 | 北京百度网讯科技有限公司 | 网络设备的测试方法及其装置 |
CN115208758A (zh) * | 2022-06-14 | 2022-10-18 | 福建新大陆通信科技股份有限公司 | 一种应急广播设备批量管理方法 |
CN115208758B (zh) * | 2022-06-14 | 2023-05-30 | 福建新大陆通信科技股份有限公司 | 一种应急广播设备批量管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113468045B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776313B (zh) | 一种模拟服务的方法、装置及集中管理平台 | |
CN109582556B (zh) | 应用程序在移动终端运行情况的测试方法、装置和系统 | |
US7827531B2 (en) | Software testing techniques for stack-based environments | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN113468045B (zh) | 一种服务器批量配置软件的测试系统、方法及组件 | |
CN111597099B (zh) | 一种监测部署于云平台的应用运行质量的无侵入仿真方法 | |
US20220138069A1 (en) | Agent profiler to monitor activities and performance of software agents | |
CN109683997B (zh) | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN106919511B (zh) | 应用的模拟方法、模拟应用及其运作方法以及模拟系统 | |
CN112559350A (zh) | 前端开发页面的调试方法、装置、设备及存储介质 | |
US9866466B2 (en) | Simulating real user issues in support environments | |
CN107181606B (zh) | 用于控制网络节点的方法和装置 | |
CN112199621B (zh) | 快速生成海报的方法、装置及计算机设备 | |
CN110750445A (zh) | 一种yarn组件高可用性功能的测试方法、系统及设备 | |
CN112235300B (zh) | 云虚拟网络漏洞检测方法、系统、装置及电子设备 | |
US9329960B2 (en) | Methods, systems, and computer readable media for utilizing abstracted user-defined data to conduct network protocol testing | |
CN116306413A (zh) | 一种fpga仿真验证方法、装置、电子设备及存储介质 | |
CN116032728A (zh) | 用于微服务环境的智能访问方法、系统 | |
CN112527453B (zh) | 虚拟化信息仿真系统、方法及计算机可读存储介质 | |
CN115705284A (zh) | 一种自动化测试系统、方法、设备及介质 | |
CN114466000A (zh) | 一种cdn网关回源方法及装置 | |
CN115203008A (zh) | 一种测试方法、装置、存储介质及设备 | |
CN114051061A (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 |