本发明涉及服务器测试技术领域,具体涉及一种快速备份测试数据的方法。
背景技术
一款服务器从开发到出货,要经过各种类型长时间的考验测试,有时同一类型的测试又会存在上千次循环的稳定性测试。这大量的测试样机经过各种测试后都会在os操作系统下产生大量的测试数据。如果产品研发过程出现问题,第一时间就是查找测试过程产生的测试数据,这时如果发现缺少了部分重要文件的支持,无疑就加大了问题分析解决的难度。如何有效备份测试期间产生的大量数据,对于异常查找和数据分析起到了很重要的支撑。
然而目前业界内对测试数据的备份方案是凭借以往的测试经验抓取操作系统的部分数据采用人工的方式逐个备份,这增大了出错率也影响了操作效率。这也会影响产品开发速度。
技术实现要素:
为了克服上述现有技术中的不足,本发明提供一种快速备份测试数据的方法,以解决上述技术问题。
本发明的技术方案是:
一种快速备份测试数据的方法,包括如下步骤:
采集os下所有测试数据;
对测试数据进行处理并向存储服务器发起备份文件的请求;
存储服务器收到请求后开始计算本地可用存储空间,如果可用空间大于备份文件的大小,则接收传输的备份文件。
优选地,步骤采集os下所有测试数据之前还包括:
搭建多个待备份测试数据的客户机,再搭建一个数据存储服务器,将待测客户机与存储服务器连接到一个交换机上组建成一个局域网。
优选地,步骤对测试数据进行处理并向存储服务器发起备份文件的请求中,对测试数据进行处理包括:
将采集的测试数据放到根目录下且按数据备份命名规则进行命名并打包压缩成一个备份文件,其中,数据备份命名规则为:
按时间加主机名的方式命名。
优选地,步骤存储服务器收到请求后开始计算本地可用存储空间,如果可用空间大于备份文件的大小,则接收传输的备份文件,其中,接收传输的备份文件包括:
接收第一次测试数据的备份文件;和
接收后续若干次的测试数据的备份文件。
优选地,该方法还包括:
客户机计算待传送数据备份文件大小,不断向存储服务器发起存储该备份的请求,直到传输成功。
优选地,步骤客户机计算待传送数据备份文件大小,不断向存储服务器发起存储该备份的请求,直到传输成功,包括:
获取第一次测试数据备份文件的大小,并将待传送数据备份文件的大小与设置的承载量阈值进行比较;
当待传送数据备份文件的大小大于承载量阈值时,将待传送数据备份文件分解为若干个待传送数据块;
将若干个待传送数据块传输至存储服务器;
存储服务器依次接收若干个待传送数据块,并将若干个待传送数据块组合还原成原始的数据备份文件。
优选地,步骤获取第一次测试数据备份文件的大小,并将待传送数据备份文件的大小与设置的承载量阈值进行比较之后,还包括:
当待传送数据备份文件的大小小于承载量阈值时,将该待传送数据备份文件设置为普通文件;
将所述普通文件发送至存储服务器。
优选地,步骤客户机计算待传送数据备份文件大小,不断向存储服务器发起存储该备份的请求,直到传输成功,还包括:
将第n次的测试数据与第n-1次测试备份的数据文件进行比对,其中n大于1;
将比对后的差异数据备份到存储服务器;
存储服务器接收到差异数据与第n-1次测试备份的数据文件组合成第n次的测试数据备份文件。
优选地,步骤存储服务器收到请求后开始计算本地可用存储空间,如果可用空间大于备份文件的大小,则接收传输的备份文件,还包括:
存储服务器收到请求后开始计算本地可用存储空间,如果可用空间小于测试数据备份文件的大小,存储服务器则依据数据备份命名规则查找本地最久的一次旧备份数据,并启动清除指令,再次计算本地可用存储空间,直到有充足空间接收客户机传输的测试数据备份文件。
优选地,该方法还包括:
客户机完成测试数据的备份传输后进入下一轮测试。
从以上技术方案可以看出,本发明具有以下优点:实现了自动化备份,全面备份了整个测试操作系统数据,无数据遗漏;采用rsync快速备份测试数据差异点;可同时批量备份局域网内所有待备份客户机的测试数据;极大的提高了测试数据备份效率,保障了产品开发的质量。该方法具有通用性,实用性强,易于实现,易于推广。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种快速备份测试数据的方法流程示意图;
图2为一种快速备份测试数据的方法中数据传输方法流程图;
图3为一种快速备份测试数据的方法中数据传输方法流程图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
实施例一
如图1-图3所示,一种快速备份测试数据的方法,包括如下步骤:
s1:搭建多个待备份测试数据的客户机,再搭建一个数据存储服务器,将待测客户机与存储服务器连接到一个交换机上组建成一个局域网;
s2:采集os下所有测试数据;
s3:对测试数据进行处理并向存储服务器发起备份文件的请求;其中,将采集的测试数据放到根目录下且按数据备份命名规则进行命名并打包压缩成一个备份文件,其中,数据备份命名规则为:
按时间加主机名的方式命名;
s4:存储服务器收到请求后开始计算本地可用存储空间,如果可用空间大于备份文件的大小,则接收传输的备份文件;其中,接收传输的备份文件包括:
接收第一次测试数据的备份文件;和
接收后续若干次的测试数据的备份文件。
本实施例中,步骤s3还包括:客户机计算待传送数据备份文件大小,不断向存储服务器发起存储该备份的请求,直到传输成功。
其中,获取第一次测试数据备份文件的大小,并将待传送数据备份文件的大小与设置的承载量阈值进行比较;
一方面包括:
s311:当待传送数据备份文件的大小大于承载量阈值时,将待传送数据备份文件分解为若干个待传送数据块;
s312:将若干个待传送数据块传输至存储服务器;
s313:存储服务器依次接收若干个待传送数据块,并将若干个待传送数据块组合还原成原始的数据备份文件。
另一方面还包括:
s321:当待传送数据备份文件的大小小于承载量阈值时,将该待传送数据备份文件设置为普通文件;
s322:将所述普通文件发送至存储服务器。
优选地,步骤s3还包括:
s331:将第n次的测试数据与第n-1次测试备份的数据文件进行比对,其中n大于1;
s332:将比对后的差异数据备份到存储服务器;
s333:存储服务器接收到差异数据与第n-1次测试备份的数据文件组合成第n次的测试数据备份文件。
步骤s4还包括:
存储服务器收到请求后开始计算本地可用存储空间,如果可用空间小于测试数据备份文件的大小,存储服务器则依据数据备份命名规则查找本地最久的一次旧备份数据,并启动清除指令,再次计算本地可用存储空间,直到有充足空间接收客户机传输的测试数据备份文件。
本实施例中,客户机完成测试数据的备份传输后进入下一轮测试。
实施例二
先搭建多个待备份测试数据的客户机,再搭建一个数据存储服务器,数据存储服务器的特点是存储容量大,这样有效保证了测试数据的存储空间,将待测客户机与存储服务器连接到一个交换机上,使其组建成一个局域网,这样可以实现待备份数据的快速传输。
客户机完成一项测试后利用rsync工具自动采集os下所有测试数据,将数据放到/目录下且以时间加主机名的方式命名,备份文件以时间加主机名的规则命名,这样的命名规则可以方便存储服务器对每个客户机的备份数据以时间远近排序。并打包压缩成一个备份文件。
rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具。在同步备份时,默认情况下,rsync通过其独特的“quickcheck”算法,仅同步大小或者最后修改时间发生变化的文件或目录(也可根据权限,属主等变化同步,需要制定参数)。甚至是只同步一个文件里变化的内容部分,所以可以实现快速的同步数据的功能。rsync有六种不同的工作模式,在本实施例中主要使用了一种工作模式,即:从本地机器备份测试数据到本地存储设备中。除了首次测试rsync会备份整个系统的所有数据外,后续客户机的每次测试产生的数据,rsync能快速的找到新产生数据和上次备份到本地的数据的差异点并只做差异点的备份,避免了人工操作时重复备份相同数据的缺陷。
备份到本地的测试数据是各个类型的文件夹,为了提高传输效率和数据质量,在所有测试数据备份完成后立即启动打包压缩成一个备份文件的指令。在这里使用xz工具对所有文件夹压缩打包。xz是绝大数linux默认就带的一个压缩工具。xz是为posix平台开发具有高压缩率的工具。它使用lzma2压缩算法,生成的压缩文件比posix平台传统使用的gzip、bzip2生成的压缩文件更小,而且解压缩速度也很快。这对于测试数据的传输会大大提高效率。
客户机计算上述备份文件大小,不断向存储服务器发起存储该备份的请求,直到传输成功;存储服务器收到请求后开始计算本地可用存储空间,如果可用空间大于备份文件的大小,则接收客户机传输的备份数据;如果无可用空间,存储服务器则依据上述数据备份命名规则查找本地最久的一次旧备份数据,并启动清除指令,再次计算本地可用存储空间,直到允许客户机传输备份数据。
客户机完成测试数据的备份传输后进入下一轮测试。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。