CN112054941B - 私有域名自动化测试方法、装置、设备及存储介质 - Google Patents
私有域名自动化测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112054941B CN112054941B CN202010933635.2A CN202010933635A CN112054941B CN 112054941 B CN112054941 B CN 112054941B CN 202010933635 A CN202010933635 A CN 202010933635A CN 112054941 B CN112054941 B CN 112054941B
- Authority
- CN
- China
- Prior art keywords
- domain name
- private
- test
- cloud servers
- private domain
- 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.)
- Active
Links
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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Abstract
本发明涉及自动化测试工具,提供一种私有域名自动化测试方法、装置、设备及计算机可读存储介质。本发明通过基于特定镜像部署多个云服务器,因此不需要分别登录多个云服务器重复安装域名解析工具,提升了前期服务器的部署效率;通过自动化地对私有域名记录进行批量编辑,并自动生成对应的域名测试文件,避免了手动对私有域名记录逐个编辑,也无需耗费人力配置域名测试文件,从而大大提升了域名测试文件的获取效率;通过采用多线程方式上传文件至云服务器并在云服务器上并行执行域名测试,进一步提升了域名测试的效率。此外,本发明还涉及区块链技术,上述域名测试文件可存储于区块链中。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种私有域名自动化测试方法、装置、设备及计算机可读存储介质。
背景技术
PrivateZone(私有域名),是基于专有网络(VPC,Virtual Private Cloud)环境的私有域名系统服务,通过PrivateZone,用户可以使用私有域名记录来管理VPC中的云服务器的主机名、服务器负载均衡(SLB,Server Load Balancer)、操作支持系统(OSS,Operation Support Systems)等云资源。但是这些私有域名在VPC之外将无法访问。目前,针对Private Zone进行功能、性能压力测试没有很好的自动化验证方法,需要人工登录到对应云服务器对私有域名进行验证和采用域名测试工具进行性能测试和压测。
在对PrivateZone进行性能测试时,需要多台云服务器安装域名测试工具进行测试,此外该开源工具需要提供要解析的域名测试文件,随着测试数据量的增大,通过手动创建VPC网络,创建云服务器并添加私有域名和记录,绑定VPC,配置测试文件,分别手工登录到不同的云服务器进行测试需要耗费大量的人力,效率低下且容易出错,现有的测试方法已经不能满足性能测试和产品快速迭代过程中的功能回归测试,因此,当前存在着现有的域名测试方式的效率低下的技术问题。
发明内容
本发明的主要目的在于提供一种私有域名自动化测试方法、装置、设备及计算机可读存储介质,旨在解决现有的域名测试方式的效率低下的技术问题。
为实现上述目的,本发明提供一种私有域名自动化测试方法,所述私有域名自动化测试方法包括以下步骤:
基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;
对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;
在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
可选地,所述基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录的步骤包括:
将装有预设域名解析工具集的镜像作为所述特定镜像,以部署多个所述云服务器;
保留多个所述云服务器的原有信息,并根据所述原有信息生成用于快速登录多个所述云服务器的快速连接句柄;
判断所述专有网络与部署在多个所述云服务器上的域名解析工具是否正常;
若所述专有网络与所述域名解析工具正常,则创建私有域名,将所述私有域名与所述专有网络关联,并创建与所述私有域名对应的私有域名记录。
可选地,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器的步骤之前,还包括:
使用所述快速连接句柄同时登录多个所述云服务器,以上传多个所述域名测试文件。
可选地,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试的步骤包括:
在登录多个所述云服务器时,获取当前性能资源使用信息,并根据所述当前性能资源使用信息确定最大并发线程数;
按照所述最大并发线程数创建对应数量线程,并在所述对应数量线程中将多个所述域名测试文件并发上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
可选地,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试的步骤之后:
在检测到当前的域名性能测试过程存在异常时,确定异常所在的异常私有域名与异常云服务器,并中断所述异常云服务器上的域名测试操作;
将所述专有网络与所述异常私有域名解绑,并删除所述异常私有域名与所述异常云服务器,以进行容错处理。
可选地,所述对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件的步骤包括:
在接收到批量添加指令和/或批量删除指令时,基于所述批量添加指令和/或批量删除指令,对所述私有域名记录进行批量添加和/或删除;
使用预设的测试文件生成脚本,自动生成与批量添加和/或删除后的私有域名记录所对应的多个域名测试文件,其中,多个所述域名测试文件存储于区块链中。
可选地,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试的步骤之后,还包括:
收集多个所述云服务器上关于多个所述域名测试文件的测试结果并汇总;
解绑所述专有网络并删除所述私有域名,以恢复网络环境。
此外,为实现上述目的,本发明还提供一种私有域名自动化测试装置,所述私有域名自动化测试装置包括:
域名记录创建模块,用于基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;
测试文件生成模块,用于对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;
域名测试并行模块,用于在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
可选地,所述域名记录创建模块包括:
镜像部署单元,用于将装有预设域名解析工具集的镜像作为所述特定镜像,以部署多个所述云服务器;
句柄生成单元,用于保留多个所述云服务器的原有信息,并根据所述原有信息生成用于快速登录多个所述云服务器的快速连接句柄;
状态判断单元,用于判断所述专有网络与部署在多个所述云服务器上的域名解析工具是否正常;
记录创建单元,用于若所述专有网络与所述域名解析工具正常,则创建私有域名,将所述私有域名与所述专有网络关联,并创建与所述私有域名对应的私有域名记录。
可选地,所述私有域名自动化测试装置还包括:
句柄登录模块,用于使用所述快速连接句柄同时登录多个所述云服务器,以上传多个所述域名测试文件。
可选地,所述域名测试并行模块包括:
线程确定单元,用于在登录多个所述云服务器时,获取当前性能资源使用信息,并根据所述当前性能资源使用信息确定最大并发线程数;
并发上传单元,用于按照所述最大并发线程数创建对应数量线程,并在所述对应数量线程中将多个所述域名测试文件并发上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
可选地,所述私有域名自动化测试装置还包括:
异常检测模块,用于在检测到当前的域名性能测试过程存在异常时,确定异常所在的异常私有域名与异常云服务器,并中断所述异常云服务器上的域名测试操作;
容错处理模块,用于将所述专有网络与所述异常私有域名解绑,并删除所述异常私有域名与所述异常云服务器,以进行容错处理。
可选地,所述测试文件生成模块包括:
批量编辑单元,用于在接收到批量添加指令和/或批量删除指令时,基于所述批量添加指令和/或批量删除指令,对所述私有域名记录进行批量添加和/或删除;
脚本使用单元,用于使用预设的测试文件生成脚本,自动生成与批量添加和/或删除后的私有域名记录所对应的多个域名测试文件,其中,多个所述域名测试文件存储于区块链中。
可选地,所述私有域名自动化测试装置还包括:
结果收集模块,用于收集多个所述云服务器上关于多个所述域名测试文件的测试结果并汇总;
环境恢复模块,用于解绑所述专有网络并删除所述私有域名,以恢复网络环境。
此外,为实现上述目的,本发明还提供一种私有域名自动化测试设备,所述私有域名自动化测试设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的私有域名自动化测试程序,其中所述私有域名自动化测试程序被所述处理器执行时,实现如上述的私有域名自动化测试方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有私有域名自动化测试程序,其中所述私有域名自动化测试程序被处理器执行时,实现如上述的私有域名自动化测试方法的步骤。
本发明提供一种私有域名自动化测试方法、装置、设备及计算机可读存储介质,所述私有域名自动化测试方法通过基于特定镜像部署多个云服务器,因此不需要分别登录多个云服务器重复安装域名解析工具,提升了前期服务器的部署效率;通过自动化地对私有域名记录进行批量编辑,并自动生成对应的域名测试文件,避免了手动对私有域名记录逐个编辑,也无需耗费人力配置域名测试文件,从而大大提升了域名测试文件的获取效率;通过采用多线程方式上传文件至云服务器并在云服务器上并行执行域名测试,进一步提升了域名测试的效率,从而解决了现有的域名测试方式的效率低下的技术问题。
附图说明
图1为本发明实施例方案中涉及的私有域名自动化测试设备的硬件结构示意图;
图2为本发明私有域名自动化测试方法第一实施例的流程示意图;
图3为本发明私有域名自动化测试装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的私有域名自动化测试方法主要应用于私有域名自动化测试设备,该私有域名自动化测试设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的私有域名自动化测试设备的硬件结构示意图。本发明实施例中,私有域名自动化测试设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对私有域名自动化测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及私有域名自动化测试程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的私有域名自动化测试程序,并执行本发明实施例提供的私有域名自动化测试方法。
基于上述硬件结构,提出本发明私有域名自动化测试方法的各个实施例。
PrivateZone,是基于专有网络VPC(Virtual Private Cloud)环境的私有DNS服务,通过PrivateZone,用户可以使用私有域名记录来管理VPC中的云服务器的主机名、SLB、OSS等云资源。但是这些私有域名在VPC之外将无法访问。目前,针对Private Zone进行功能、性能压力测试没有很好的自动化验证方法,需要人工登录到对应ECS对私有域名进行验证和采用dnsperf开源工具进行性能测试和压测。
在对PrivateZone进行性能测试时,需要多台云服务器安装dnsperf工具进行测试,此外该开源工具需要提供要解析的域名测试文件,随着测试数据量的增大,通过手动创建VPC网络,创建云服务器并添加Zone和Record,绑定VPC,配置测试文件,分别手工登录到不同的云服务器进行测试需要耗费大量的人力,效率低下且容易出错,现有的测试方法已经不能满足性能测试和产品快速迭代过程中的功能回归测试,因此,当前存在着现有的域名测试方式的效率低下的技术问题。
为解决上述问题,本发明提供一种私有域名自动化测试方法,即通过基于特定镜像部署多个云服务器,因此不需要分别登录多个云服务器重复安装域名解析工具,提升了前期服务器的部署效率;通过自动化地对私有域名记录进行批量编辑,并自动生成对应的域名测试文件,避免了手动对私有域名记录逐个编辑,也无需耗费人力配置域名测试文件,从而大大提升了域名测试文件的获取效率;通过采用多线程方式上传文件至云服务器并在云服务器上并行执行域名测试,进一步提升了域名测试的效率,从而解决了现有的域名测试方式的效率低下的技术问题。
参照图2,图2为本发明私有域名自动化测试方法第一实施例的流程示意图。
本发明第一实施例提供一种私有域名自动化测试方法,所述私有域名自动化测试方法包括以下步骤:
步骤S10,基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;
在本实施例中,本方法应用于装有私有域名自动化测试程序的系统(以下简称系统)。预设专有网络为虚拟私有云网络(VPC,Virtual Private Cloud),可以是在云平台上构建的隔离的、用户能够管理配置和策略的虚拟网络环境。VPC是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在民营企业和云服务提供商之间传输数据。云服务器为整合了计算、存储与网络资源的IT基础设施能力租用服务,能提供基于云计算模式的按需使用和按需付费能力的服务器租用服务。客户可以通过web界面的自助服务平台,部署所需的服务器环境。
系统先对网络环境进行初始化,先创建VPC网络,在使用预先已打包有域名解析工具集的镜像来部署云服务器,以使得云服务器具有域名解析测试功能。系统再在当前的虚拟云网络中创建私有域名zone,并通过调用用于绑定VPC的相关函数实现对当前的虚拟云网络的关联。一个私有域名可以关联到一个或多个VPC。在关联之后,云服务器才可对zone进行访问。系统为当前创建的zone添加解析记录,也即是上述的私有域名记录,以将私有域名映射到IP地址上。其中,私有域名可以是公网真实存在的域名,也可以是公网中非真实存在的域名。
步骤S20,对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;
在本实施例中,编辑方式可为添加、更新与删除等。由于在进行性能测试时,需要生成成千上万条解析记录record(也即是上述私有域名记录),本系统可通过自动化技术对record进行批量添加、更新或删除,在实际应用过程中,主要是对record进行批量添加。在对record批量编辑完成后,系统可通过预设的脚本自动生成与编辑后的record相对应的多个域名解析文件。
需要说明的是,上述多个域名解析文件可以是部分相同的域名解析文件,也可以是每个都不同的域名解析文件,还可以是每一个都相同的域名解析文件。且每个文件的生成时间可以相同也可以不同。例如,在第一时刻添加新的zone,添加或修改record,根据脚本自动生成若干域名测试文件,而后在第二时刻再添加新的zone,再度添加或修改record,又生成新的若干域名测试文件。上述多个域名测试文件既可以指在某一时刻所自动生成的多个域名测试文件,也可以指多个时刻所自动生成的域名测试文件的总和。
步骤S30,在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
在本实施例中,在已同时登录多个云服务器时系统获取当前性能资源使用信息,并根据当前性能资源使用信息确定最大并发线程数,然后再按照最大并发线程数创建对应数量线程,并在对应数量线程中将多个域名测试文件并发上传至多个云服务器。云服务器通过已安装的域名测试工具如dnsperf,并基于接收到的域名测试文件进行域名性能测试。另外,在开始进行性能测试时,启用monitor监控并收集DNS(域名系统协议)服务器的性能指标,例如CPU占用率等数据,并在性能测试结束时关闭monitor,将收集到的性能指标数据作为性能测试结果的参考标准。另外,系统登录云服务器的操作也可以采用多线程的方式,通过预存的快速连接句柄同时向多个云服务器发出登录请求并登录。另外,域名测试的类型具体可为性能测试、功能测试等。
作为一具体实施例,本方法按以下步骤执行。
第一步,创建一个vpc1(专有网络),并在该专有网络下创建子网,在该子网下使用自定义镜像创建ECS1(云主机),该自定义镜像是已经安装好对应的dns测试工具,如dig,dnsperf,queryperf等。检查网络和工具是否可正常运行,可登录ECS查看是否能进行公共域名解析,能否使用dig,dnsperf,queryperf工具等。(若要进行多主机并发进行域名解析,可以用该子网创建多个ECS)。
第二步,将创建好的ECS对应的信息:用户名和密码,IP地址(若需要跳板机登录则还需要提供跳板机的IP,用户名和密码)记录到自动化测试系统的配置文件中。
第三步,创建一个zone:test.dns,在该zone下创建对应的record,如*,www,a等record,对“test.dns”的zone绑定vpc1,通过脚本自动生成域名测试文件,如生成zone为“test.dns”的A记录2000条*5:“python generate_querydns_txt.py-z"test.dns"-n2000”。
第四步,将第三步生成的测试文件querydnx.txt上传到ECS1,在ECS1上进行域名解析测试:dnsperf-d querydns.txt-s 28.0.132.230–t 300。登录dns服务器,进入vpc1对应的dns容器中查看cpu和内存占用率。根据以上步骤3、4来添加新的zone,添加或修改record,生成新的测试数据文件,进行不同zone的域名解析测试。
第五步,测试完毕后,收集记录测试结果,性能指标,清理环境。首先先将zone分别解绑vpc1,删除对应的zone,释放ecs1,接着再释放对应子网,删除vpc1。
以上五个步骤都通过系统自动化实现,无需人工操作,只要提供对应的环境设备资源,测试数据即可。
在本实施例中,本发明通过基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。通过上述方式,本发明通过基于特定镜像部署多个云服务器,因此不需要分别登录多个云服务器重复安装域名解析工具,提升了前期服务器的部署效率;通过自动化地对私有域名记录进行批量编辑,并自动生成对应的域名测试文件,避免了手动对私有域名记录逐个编辑,也无需耗费人力配置域名测试文件,从而大大提升了域名测试文件的获取效率;通过采用多线程方式上传文件至云服务器并在云服务器上并行执行域名测试,进一步提升了域名测试的效率,从而解决了现有的域名测试方式的效率低下的技术问题。
进一步地,基于上述图2所示的第一实施例,提出本发明私有域名自动化测试方法的第二实施例。本实施例中,步骤S10包括:
将装有预设域名解析工具集的镜像作为所述特定镜像,以部署多个所述云服务器;
保留多个所述云服务器的原有信息,并根据所述原有信息生成用于快速登录多个所述云服务器的快速连接句柄;
判断所述专有网络与部署在多个所述云服务器上的域名解析工具是否正常;
若所述专有网络与所述域名解析工具正常,则创建私有域名,将所述私有域名与所述专有网络关联,并创建与所述私有域名对应的私有域名记录。
在本实施例中,系统先对网络环境进行初始化。系统先创建VPC网络,使用预先已打包有域名解析工具集(如dnsperf)的镜像来部署云服务器,以使得云服务器具有域名解析测试功能。在部署云服务器的过程中,系统会对云服务器的原有信息进行缓存,原有信息可包括IP地址、用户名、密码等。系统根据这些云服务器的原有信息生成用于快速登录云服务器的快速连接句柄,以供后续需要登录云服务器时释放。
在创建VPC并对云服务器进行部署后,系统还需对当前的网络环境以及解析测试工具进行检查,例如,检查当前的VPC网络是否能连通外网,测试工具能够正常使用等,具体的检查方式通常采用发出基本指令,并获取响应该基本指令的信息,判断响应信息是否与预设标准响应信息相匹配。若不匹配,则系统需对当前的网络环境进行调试,直至网络环境与工具能够正常使用;若匹配,则系统可判定此时的网络环境和工具正常。系统在检查完当前的网络环境后,即可进入业务逻辑测试部分。系统在当前的虚拟云网络中创建私有域名zone,并通过调用用于绑定VPC的相关函数实现对当前的虚拟云网络的关联。一个私有域名可以关联到一个或多个VPC。在关联之后,云服务器才可对zone进行访问。
系统为当前创建的私有域名添加解析记录,也即是上述的私有域名记录,以将私有域名映射到IP地址其中,私有域名可以是公网真实存在的域名,也可以是公网中非真实存在的域名。解析记录可以是用来指定私有域名对应的IP地址的记录,可以包括多种类型,例如,A记录(A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的网页服务器(web server)上。同时也可以设置域名的子域名)、CNAME记录(别名记录)、指针(PTR,Pointer Record)记录,AAAA记录(是用来将域名解析到IPv6地址的DNS记录,用户可以将一个域名解析到IPv6地址上,也可以将子域名解析到IPv6地址上),TXT记录(一般指为某个主机名或域名设置的说明),邮件交换(MX,MailExchanger)记录等。
进一步地,步骤S10之前,还包括:
使用所述快速连接句柄同时登录多个所述云服务器,以上传多个所述域名测试文件。
在本实施例中,在需要同时登陆多个云服务器时,释放部署云服务器时根据原有信息生成的快速连接句柄,系统即可通过快速连接句柄直接登陆到相应的云服务器,而无须建立多个安全外壳协议(ssh,Secure Shell)连接,测试完成后释放ssh连接。
进一步地,步骤S30包括:
在登录多个所述云服务器时,获取当前性能资源使用信息,并根据所述当前性能资源使用信息确定最大并发线程数;
按照所述最大并发线程数创建对应数量线程,并在所述对应数量线程中将多个所述域名测试文件并发上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
在本实施例中,当前性能资源使用信息可包括当前CPU占用率、内存占用率等。系统根据当下的可支持的资源情况确定实时的最大并发线程数,以在同一时刻尽可能多地并发上传域名测试文件。不同的云服务器即可同时对传入的域名测试文件进行域名性能测试。
进一步地,通过采用多线程技术,可以极大减少对Private Zone产品进行功能、性能测试所需的时间和人力成本;通过基于特定镜像创建云服务器,因此不需要分别登录云服务器重复安装dnsperf,而且可以灵活创建多个云服务器并保存对应的登录信息进行自动登录,对于测试人员来说不需要关注细节,只需要关注业务逻辑本身即可;通过快速连接句柄直接登陆到相应的云服务器,而无须建立多个ssh连接,测试完成后释放ssh连接,避免占用内存空间。
进一步地,基于上述图2所示的第一实施例,提出本发明私有域名自动化测试方法的第三实施例。本实施例中,步骤S30之后包括:
在检测到当前的域名性能测试过程存在异常时,确定异常所在的异常私有域名与异常云服务器,并中断所述异常云服务器上的域名测试操作;
将所述专有网络与所述异常私有域名解绑,并删除所述异常私有域名与所述异常云服务器,以进行容错处理。
在本实施例中,系统实时检测当前是否存在异常或出错,若存在,则确定当前发生异常的私有域名以及云服务器,将此私有域名与专有网络解绑,并删除存在异常的私有域名以及云服务器,以对此异常进行容错处理,避免此异常对其他云服务器上的性能测试过程造成影响。
进一步地,步骤S20包括:
在接收到批量添加指令和/或批量删除指令时,基于所述批量添加指令和/或批量删除指令,对所述私有域名记录进行批量添加和/或删除;
使用预设的测试文件生成脚本,自动生成与批量添加和/或删除后的私有域名记录所对应的多个域名测试文件,其中,多个所述域名测试文件存储于区块链中。
在本实施例中,测试人员需要预先在系统上加载用于自动生成域名测试文件的测试文件生成脚本。在测试人员当前进行域名测试操作,在当前的专有网络上添加新的zone,并点击页面上预设的批量添加解析记录和/或删除解析记录的按键时,系统接收到此批量添加指令和/或批量删除指令,并根据指令自动批量添加和/或删除解析记录(也即是上述私有域名记录)。系统再使用预置的脚本,自动生成与批量添加和/或删除后的私有域名记录所对应的多个域名测试文件。
需要强调的是,为进一步保证上述目标返回结果的私密和安全性,上述域名测试文件还可以存储于一区块链的节点中。
进一步地,步骤S30之后,还包括:
收集多个所述云服务器上关于多个所述域名测试文件的测试结果并汇总;
解绑所述专有网络并删除所述私有域名,以恢复网络环境。
在本实施例中,在性能测试结束时,系统自动收集各个云服务器上的性能测试结果,将所有的性能测试结果进行汇总,并写入数据库中,以对性能测试结果数据进行持久化管理。在性能测试完成后,系统还需进行环境恢复操作。需要将与专有网络关联的私有域名进行解绑,然后再删除私有域名以及各个云服务器,最后对专有网络进行删除,以完成网络环境恢复。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
进一步地,通过对测试过程中所发生的异常进行容错处理,避免此异常对其他云服务器上的性能测试过程造成影响;通过自动化地对私有域名记录进行批量编辑,并自动生成对应的域名测试文件,避免了手动对私有域名记录逐个编辑,也无需耗费人力配置域名测试文件,从而大大提升了域名测试文件的获取效率;通过在测试过程中能自动收集每个云服务器上的测试结果,而且性能测试过程中能自动监测和收集服务器的性能指标,方便对结果进行统一收集和持久化管理;通过在测试完成后恢复网络环境,以防止执行过程中参数会对环境产生影响,也避免有数据残留,占用资源。
此外,如图3所示,为实现上述目的,本发明还提供一种私有域名自动化测试装置,所述私有域名自动化测试装置包括:
域名记录创建模块10,用于基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;
测试文件生成模块20,用于对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;
域名测试并行模块30,用于在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
可选地,所述域名记录创建模块10包括:
镜像部署单元,用于将装有预设域名解析工具集的镜像作为所述特定镜像,以部署多个所述云服务器;
句柄生成单元,用于保留多个所述云服务器的原有信息,并根据所述原有信息生成用于快速登录多个所述云服务器的快速连接句柄;
状态判断单元,用于判断所述专有网络与部署在多个所述云服务器上的域名解析工具是否正常;
记录创建单元,用于若所述专有网络与所述域名解析工具正常,则创建私有域名,将所述私有域名与所述专有网络关联,并创建与所述私有域名对应的私有域名记录。
可选地,所述私有域名自动化测试装置还包括:
句柄登录模块,用于使用所述快速连接句柄同时登录多个所述云服务器,以上传多个所述域名测试文件。
可选地,所述域名测试并行模块30包括:
线程确定单元,用于在登录多个所述云服务器时,获取当前性能资源使用信息,并根据所述当前性能资源使用信息确定最大并发线程数;
并发上传单元,用于按照所述最大并发线程数创建对应数量线程,并在所述对应数量线程中将多个所述域名测试文件并发上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
可选地,所述私有域名自动化测试装置还包括:
异常检测模块,用于在检测到当前的域名性能测试过程存在异常时,确定异常所在的异常私有域名与异常云服务器,并中断所述异常云服务器上的域名测试操作;
容错处理模块,用于将所述专有网络与所述异常私有域名解绑,并删除所述异常私有域名与所述异常云服务器,以进行容错处理。
可选地,所述测试文件生成模块20包括:
批量编辑单元,用于在接收到批量添加指令和/或批量删除指令时,基于所述批量添加指令和/或批量删除指令,对所述私有域名记录进行批量添加和/或删除;
脚本使用单元,用于使用预设的测试文件生成脚本,自动生成与批量添加和/或删除后的私有域名记录所对应的多个域名测试文件,其中,多个所述域名测试文件存储于区块链中。
可选地,所述私有域名自动化测试装置还包括:
结果收集模块,用于收集多个所述云服务器上关于多个所述域名测试文件的测试结果并汇总;
环境恢复模块,用于解绑所述专有网络并删除所述私有域名,以恢复网络环境。
本发明还提供一种私有域名自动化测试设备。
所述私有域名自动化测试设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的私有域名自动化测试程序,其中所述私有域名自动化测试程序被所述处理器执行时,实现如上所述的私有域名自动化测试方法的步骤。
其中,所述私有域名自动化测试程序被执行时所实现的方法可参照本发明私有域名自动化测试方法的各个实施例,此处不再赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有私有域名自动化测试程序,其中所述私有域名自动化测试程序被处理器执行时,实现如上述的私有域名自动化测试方法的步骤。
其中,私有域名自动化测试程序被执行时所实现的方法可参照本发明私有域名自动化测试方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种私有域名自动化测试方法,其特征在于,所述私有域名自动化测试方法包括以下步骤:
基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;
对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;
在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
2.如权利要求1所述的私有域名自动化测试方法,其特征在于,所述基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录的步骤包括:
将装有预设域名解析工具集的镜像作为所述特定镜像,以部署多个所述云服务器;
保留多个所述云服务器的原有信息,并根据所述原有信息生成用于快速登录多个所述云服务器的快速连接句柄;
判断所述专有网络与部署在多个所述云服务器上的域名解析工具是否正常;
若所述专有网络与所述域名解析工具正常,则创建私有域名,将所述私有域名与所述专有网络关联,并创建与所述私有域名对应的私有域名记录。
3.如权利要求2所述的私有域名自动化测试方法,其特征在于,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器的步骤之前,还包括:
使用所述快速连接句柄同时登录多个所述云服务器,以上传多个所述域名测试文件。
4.如权利要求1所述的私有域名自动化测试方法,其特征在于,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试的步骤包括:
在登录多个所述云服务器时,获取当前性能资源使用信息,并根据所述当前性能资源使用信息确定最大并发线程数;
按照所述最大并发线程数创建对应数量线程,并在所述对应数量线程中将多个所述域名测试文件并发上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
5.如权利要求1所述的私有域名自动化测试方法,其特征在于,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试的步骤之后:
在检测到当前的域名性能测试过程存在异常时,确定异常所在的异常私有域名与异常云服务器,并中断所述异常云服务器上的域名测试操作;
将所述专有网络与所述异常私有域名解绑,并删除所述异常私有域名与所述异常云服务器,以进行容错处理。
6.如权利要求1所述的私有域名自动化测试方法,其特征在于,所述对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件的步骤包括:
在接收到批量添加指令和/或批量删除指令时,基于所述批量添加指令和/或批量删除指令,对所述私有域名记录进行批量添加和/或删除;
使用预设的测试文件生成脚本,自动生成与批量添加和/或删除后的私有域名记录所对应的多个域名测试文件,其中,多个所述域名测试文件存储于区块链中。
7.如权利要求1-6中任一项所述的私有域名自动化测试方法,其特征在于,所述在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试的步骤之后,还包括:
收集多个所述云服务器上关于多个所述域名测试文件的测试结果并汇总;
解绑所述专有网络并删除所述私有域名,以恢复网络环境。
8.一种私有域名自动化测试装置,其特征在于,所述私有域名自动化测试装置包括:
域名记录创建模块,用于基于预设的特定镜像部署预设的专有网络中的多个云服务器,并创建与所述专有网络关联的私有域名,以及与所述私有域名对应的私有域名记录;
测试文件生成模块,用于对所述私有域名记录进行批量编辑,并自动生成与批量编辑后的私有域名记录对应的多个域名测试文件;
域名测试并行模块,用于在登录多个所述云服务器时,按照多线程方式将多个所述域名测试文件上传至多个所述云服务器,以在多个所述云服务器上对多个所述域名测试文件并行进行域名测试。
9.一种私有域名自动化测试设备,其特征在于,所述私有域名自动化测试设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的私有域名自动化测试程序,其中所述私有域名自动化测试程序被所述处理器执行时,实现如权利要求1至7中任一项所述的私有域名自动化测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有私有域名自动化测试程序,其中所述私有域名自动化测试程序被处理器执行时,实现如权利要求1至7中任一项所述的私有域名自动化测试方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010933635.2A CN112054941B (zh) | 2020-09-07 | 2020-09-07 | 私有域名自动化测试方法、装置、设备及存储介质 |
PCT/CN2020/125012 WO2021189852A1 (zh) | 2020-09-07 | 2020-10-30 | 私有域名自动化测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010933635.2A CN112054941B (zh) | 2020-09-07 | 2020-09-07 | 私有域名自动化测试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112054941A CN112054941A (zh) | 2020-12-08 |
CN112054941B true CN112054941B (zh) | 2023-03-24 |
Family
ID=73611026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010933635.2A Active CN112054941B (zh) | 2020-09-07 | 2020-09-07 | 私有域名自动化测试方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112054941B (zh) |
WO (1) | WO2021189852A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671943B (zh) * | 2020-12-17 | 2022-07-15 | 苏州极光无限信息技术有限公司 | 一种真实域名的探测装置 |
CN113010422A (zh) * | 2021-03-17 | 2021-06-22 | 北京金山云网络技术有限公司 | 一种镜像文件测试方法、装置、电子设备及可读存储介质 |
CN113438126B (zh) * | 2021-06-17 | 2022-05-10 | 中国科学院计算机网络信息中心 | 一种应用于区块链域名系统的分布式在线测试系统 |
CN113992494B (zh) * | 2021-12-23 | 2022-03-11 | 武汉迈异信息科技有限公司 | 一种云平台创建堡垒机并自动纳管云主机的方法 |
CN114297009B (zh) * | 2021-12-28 | 2024-01-16 | 苏州浪潮智能科技有限公司 | 一种服务器测试的方法及装置、电子设备 |
CN115604223A (zh) * | 2022-08-25 | 2023-01-13 | 紫光云技术有限公司(Cn) | 一种实现dns支持vpc私有域名解析的方法 |
CN115277638B (zh) * | 2022-09-30 | 2022-12-16 | 中国信息通信研究院 | 区块链域名解析系统的性能测试方法和装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852912A (zh) * | 2015-04-29 | 2015-08-19 | 中国互联网络信息中心 | 域名注册服务器性能测试系统和方法 |
CN109729189A (zh) * | 2019-03-14 | 2019-05-07 | 北京百度网讯科技有限公司 | 用于配置域名的方法和装置 |
CN111124850A (zh) * | 2019-11-12 | 2020-05-08 | 上海移远通信科技有限公司 | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9154383B2 (en) * | 2012-12-31 | 2015-10-06 | Johnson Manuel-Devadoss | System and method to extend the capabilities of a web browser of a web application issue root cause determination techniques |
CN106101300B (zh) * | 2016-06-22 | 2020-08-18 | 东方有线网络有限公司 | 通过私有域名系统控制访问自建服务器的方法 |
US9992086B1 (en) * | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) * | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
CN110830458B (zh) * | 2019-10-25 | 2021-11-23 | 云深互联(北京)科技有限公司 | 域名访问方法、系统、设备和计算机可读存储介质 |
CN111049943A (zh) * | 2019-12-05 | 2020-04-21 | 北京小米移动软件有限公司 | 解析域名的方法、装置、设备及介质 |
CN111314502B (zh) * | 2020-03-09 | 2022-02-18 | 网宿科技股份有限公司 | 一种基于域名解析系统的域名部署方法及装置 |
-
2020
- 2020-09-07 CN CN202010933635.2A patent/CN112054941B/zh active Active
- 2020-10-30 WO PCT/CN2020/125012 patent/WO2021189852A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852912A (zh) * | 2015-04-29 | 2015-08-19 | 中国互联网络信息中心 | 域名注册服务器性能测试系统和方法 |
CN109729189A (zh) * | 2019-03-14 | 2019-05-07 | 北京百度网讯科技有限公司 | 用于配置域名的方法和装置 |
CN111124850A (zh) * | 2019-11-12 | 2020-05-08 | 上海移远通信科技有限公司 | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021189852A1 (zh) | 2021-09-30 |
CN112054941A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112054941B (zh) | 私有域名自动化测试方法、装置、设备及存储介质 | |
US6651183B1 (en) | Technique for referencing failure information representative of multiple related failures in a distributed computing environment | |
US8601122B2 (en) | Managing captured network traffic data | |
CN104954189A (zh) | 一种服务器集群的自动检测方法和系统 | |
CN105471675A (zh) | 一种多节点批量测试的方法及系统 | |
US6941361B1 (en) | Method and apparatus for obtaining inventory and user information for a remote computer device | |
CN112162927B (zh) | 云计算平台的测试方法、介质、装置和计算设备 | |
US20210326196A1 (en) | A remediation system to prevent incompatible program module installation in an information processing system | |
US7835307B2 (en) | Network discovery tool | |
CA2937813C (en) | Method and system for providing a robust and efficient virtual asset vulnerability management and verification service | |
CN107506295B (zh) | 虚拟机备份的测试方法、设备及计算机可读存储介质 | |
WO2018214928A1 (zh) | 一种定位解析故障的方法和装置及其计算机可读存储介质和计算机设备 | |
US9866466B2 (en) | Simulating real user issues in support environments | |
KR20170133781A (ko) | 가상 인프라 스트럭처의 시험 및 진단 장치 및 방법 | |
CN116405412A (zh) | 服务端集群的有效性验证方法和系统 | |
CN115686921A (zh) | 一种多路径异常检测修复方法、装置、设备及介质 | |
CN111884837B (zh) | 虚拟加密机的迁移方法、装置及计算机存储介质 | |
CN110995738B (zh) | 暴力破解行为识别方法、装置、电子设备及可读存储介质 | |
CN109634848B (zh) | 一种银行大型测试环境管理方法及系统 | |
CN111176782B (zh) | 一种在线实验方法和装置 | |
CN114070632A (zh) | 一种自动化渗透测试方法、装置及电子设备 | |
CN112463572A (zh) | 一种跨境多服务拨测的软件测试系统及其方法 | |
CN110765463B (zh) | 一种基于WebLogic的安全基线加固方法 | |
CN116938781A (zh) | 接口测试方法及其装置、电子设备、存储介质 | |
CN114745357A (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 |