王堃 杨晓冬
中国银联信息总中心 201201
摘要:由于测试环境中的权限管理比较松散,导致文件被误删、误改,资源在不知情的情况下被迁移,这些都对测试工作的准确、有序的进行造成了不良的影响,严重情况甚至会影响系统测试的进度和准确性。针对该问题,本方法提出了一种保障测试环境稳定性的系统解决方案。这里的稳定性分为测试环境硬件资源的稳定性和应用及配置文件的稳定性。可以有效避免测试过程中除版本以外的因素对测试过程的影响,有效提高测试的时效性和准确性。
关键词: 测试环境;自动化;备份恢复;方法
测试环境硬件资源变动和应用程序文件的变动具有不同的特点,硬件资源变动出现频率低,而且均属于预期外的变动,出现了影响性较大;应用程序文件变动的频率则高很多,影响性则具有不确定性,有些情况是测试人员主动修改,属于预期内变动;其他情况则是异常场景,属于预期外的变动。预期内的变动无需人工干预,而预期外的变动通常需要人工干预。
针对应用程序文件的变动,系统需要对变动情况进行智能识别,通过分类的方法对一些预期内的变动进行过滤,较为准确地识别出预期外的场景,并对相关人员进行通知。
1、现有技术方案
1.1现有技术实现的方法\现有技术架构
现有的测试环境备份系统是通过登录的方式将文件上传到文件服务器中做备份,然后在版本测试前将应用及配置文件恢复的方法来保证应用及配置文件的一致性。目前,还没有一套完整的针对测试环境自动化备份和恢复的解决方案。
1.2现有技术存在的缺点或问题
这种方法存在的主要问题如下:
a、不能主动、及时发现应用及配置文件中存在的问题;
b、系统版本更新频繁,进行人工维护的成本较高;
c、无法提供对硬件资源稳定性的保障;
d、不能通过界面化的形式对应用及配置文件和硬件环境进行有效的备份和恢复。
2 本提案所述技术方案的技术效果
通过场景化的方式来对环境变动进行分类,对一些文件变动的场景进行过滤,智能识别出异常场景,大大减小了人工维护的成本。
关于备份恢复系统的原理,本系统采用的是主动收集的方式对应用及配置文件和硬件资源环境进行集中式管理,并提供界面给管理人员进行辅助管理。通过报警的方式及时通知管理人员测试环境存在异常的变动。然后管理人员可以在界面上对变动进行确认或者恢复操作。
3核心内容
为了识别出测试环境大批量的版本更新中隐藏的少数误操作,过滤大部分正常的版本变更,降低人工判断场景的成本,本方法使用基于Logistic回归的分类算法来对相应场景进行分类分析。
3.1利用每次版本更新的相关特征数据进行训练,利用版本更新过程中的一些特征将两种场景区分出来。
3.2每次版本更新自动进行判断,但是会采用“慢确认”的方式,将当前文件和上一次正确的文件均存储在文件数据库中,防止误操作被识别为正常更新导致文件无法恢复。
具体思想如下:
第一步,选取特征向量,将每次文件信息变动按照以下数据组织进行分类,首先是系统代号、变动主机数量、文件变动占比、距离上一次变动间隔时间。
文件变动首先会被按照不同系统划分到不同的类别中,不同的系统具有不同的变更特征,单独对每一个系统中的文件变动进行分析。不同的系统会被分别使用数字进行编号,作为第一个特征,按照1、2、3、4的数量递增;版本变更涉及的主机数量是特定的,如果文件变更只在一个系统少数几台主机上发生,则该变更很有可能是误操作,因此,将变更涉及的主机数量作为第二个特征进行分析,而每一次版本更新指定目录的文件更新占比都是具有规律性的,所以将变动文件占比作为第三个特征,文件变动占比=变动文件数量/系统文件总数;根据系统的版本变更的周期性,将距离上一次变更天数作为第四个特征。这样,可以使用z=w0x0+w1x1+w2x2+w3x3+w4x4来构建模型计算出最佳的向量w进行场景识别。
第二步,将每一次实际的变更或者实际的误操作结果加入到训练集中,使用梯度上升法对针对这些历史数据进行回归,得到一组最佳的系数。
第三步,系统会根据新的特征值对新发生的文件变动进行分类,如果判断失误,由于系统采用了“慢更新”的方式,系统可以容忍一次的判断失误,并且通过恢复模块对相关文件进行恢复,并且将判断错误的数据加入到训练集中,使用随机梯度上升的算法来对系数进行更新,提高判断的准确性。
这样进行大量的训练之后,该分类算法可以准确的识别出预期外的文件变动场景,然后通过恢复模块自动对文件进行恢复。从而有效降低了大量变更需要人工进行确认的成本。
4最佳技术方案(实施例)
本方法,涉及到如下6个组件:
4.1收集模块。
服务器定时主动的地通过收集测试环境中被监控主机中的应用及配置文件和环境信息文件。其中应用及配置文件地收集可以通过Python中的paramiko模块登录到被监控主机,通过执行相应的linux命令,获取当前服务器的硬件资源信息,并记录在文件中。
4.2备份模块。
备份模块使用“两份文件”策略,通过备份两份文件的方式来规避可能的判断失误。每次文件更新,都是将新文件替换掉两份文件中较老的那一份文件,并将对应文件的MD5值进行更新。
4.3比对模块。
将收集模块收集到的最新文件的MD5值与备份模块中两份备份文件中较新文件的MD5值进行比较。将这些变动计算出相应的特征值传递给过滤模块。
4.4过滤模块。
过滤模块根据比对模块传递过来的特征值对该场景进行分类,如果判定为结果是预期内的版本变更,就不进行处理,如果判定为是预期外错误,则会将信息传递给告警模块。
a告警模块。
通过邮件,短信等形式将过滤后预期外的环境变动通知相关管理人员。
b恢复模块。
在界面上选中被误修改的应用及配置文件,点击恢复到上一次正确的应用及配置文件,后台系统将应用及配置文件从文件数据库中推送到对应的主机完成文件恢复,如果是硬件配置信息文件比对不一致,通知相关人员进行硬件资源恢复。
本方法实现测试环境自动化备份恢复的过程如下:
a、收集模块每日定时收集被监控主机中的应用及配置文件和相关硬件信息文件。
b、由比对模块计算出所有收集到的文件的MD5值,并与文件数据库中存储的对应文件的MD5值进行比较。系统会自动找出所有MD5值有差异的文件,并且按照不同系统进行第一次划分,然后划分结果作为输入传递给过滤模块,过滤模块对预期内的文件变动进行过滤,其余的文件变动则通过告警模块将文件信息通过短信方式推送给管理员,管理员通过管理界面进行确认,进行恢复还是更新。如果确认是系统升级,则将更新的文件替换掉两份文件中较老的一份文件,并更新文件的MD5值。如果确认是误操作,则通过管理界面恢复上一次正确的文件。
5、可替换技术方案、补充实施例
补充实施例1:
5.1、将第1步针对“界面上的恢复操作”,可以替换为“后台直接恢复”。
5.2、将“MD5值比较”方式替换为“文件大小比对”或者其他比较文件一致性的方法。
5.3、将过滤模块中的逻辑回归算法换成其他分类算法。
5.4、加入或删除几个特征向量。
综上所述,计算机技术是自动化得以实现的必要基础,但是由于网络自身环境以及其他不确定性因素的影响,如何保证测试环境自动化备份恢复是当前所面临的关键问题。在这一时代背景下,加强测试环境自动化备份恢复方法的应用研究具有十分重要的现实意义。
参考文献:
[1]计算机网络信息技术在教育变革中的应用 [J]. 张守国. 信息记录材料. 2020(11)
[2]大数据时代下互联网信息安全存在的问题及改进策略 [J]. 王刚,陈丽,李富鹏. 信息记录材料. 2020(11)
[3]大数据时代计算机网络信息安全及防护探讨 [J]. 段英杰. 信息记录材料. 2020(11)
[4]大数据环境下计算机网络信息安全的对策研究 [J]. 韦超英. 电脑知识与技术. 2020(33)