云计算中分布式软件系统兼容性自动检测方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

云计算中分布式软件系统兼容性自动检
测方法
摘要:在计算机技术带动下,分布式系统纷纷推出海量分布式应用,如常见的B/S架构等,与集中式软件系统不同,一般由多个分布式子系统进行协作共同完成任务。

该系统将信息共享和增强计算能力当作首要目标,异构性和开放性较强,但也具有故障独立性。

在分布式系统中,软件的兼容性使系统具备良好性能。

兼容性是指软件之间互相协调的性能,在工作过程中,软件之间可以做到协调稳定运行,表明兼容性较好。

由于软件开发的复杂度逐渐提高,系统运行过程中突发状况频频发生,软件不兼容变得较为普遍。

对于一个软件而言,无论其他功能是否强大,只要与其他软件产生冲突,就会降低应用价值。

因此,软件兼容性测试是分布式系统开发过程中的必要过程。

关键词:云计算;分布式;软件系统
1 云计算体系架构分析
通常情况下,云计算包括私有云、社区云、公共云和混合云4种类型。

私有云能够让用户清楚了解“云”的基本结构,提高服务安全性;社区云则存在多个管理组织,主要任务是保证调度安全;公共云可提供对外服务,能够被用户拥有;混合云表示多种云的组合形式,可掌握关键数据。

云计算的结构如图1所示。

服务模式分为以下3种:
a.基础设备服务。

云架构中最底端服务,利用虚拟化技术提供计算与储存等功能,便于用户运行软件。

b.平台服务。

以基础设备服务层为核心建立的,用户可在该服务中进行软件开发,同时能部署想要的运行环境,且不用了解底层有关技术。

c.软件服务。

最顶端的服务层,用户利用客户端即可实现对此层服务的调控,同时可根据自身实际需要,对软件服务进行个性化定制。

图1 云计算结构
2 融入粒子群算法的软件兼容性自动检测
2.1 基本粒子群算法模型
假设第t代种群存在N个粒子,则Xi=[xt1,xt2,⋯,xtN]Xi=[x1t,x2t,⋯,xΝt]与Vt=[vt1,vt2,⋯,vtN]Vt=[v1t,v2t,⋯,vΝt]为第i个粒子的方位与速度信息;在确定的搜索范围内,pbest为粒子搜索到的最佳位置,即个体最优;gbest为某种群发现的最佳位置,即最佳点。

在寻优时,粒子速度与位置使用以下公式进行更新:
vi为粒子i的移动速度;ω为现阶段粒子群的权值;c1与c2均为粒子群的学习因子;xi为粒子i的位置;rand( )为(0,1)范围内的随机数。

2.2 基于离散度调整的粒子群算法改进
2.2.1 离散度调整
上述粒子群模型在搜索时太过依赖权重ω,增加出现局部最优的可能,影响搜索能力,不容易获得精准的检测结果。

因此,本文在离散度调整基础上对上述模型进行改进。

为准确把握收敛程度,需确定收敛量纲,也就是粒子群离散度。

该值不但能够准确判断出早熟现象,还能实现粒子的动态追踪。

离散度能够准确体现粒子之间的汇集程度,如果算法不符合约束条件,离散度很小,表明进入早熟状态,需要对其进行处理。

当出现早熟现象时,应将权重值增大,进而加强全局搜索性能,确保粒子更具多样性特征;减轻全局极值对粒子造成的影响,提高检测精度。

2.2.2 适应度函数确立
调整完离散度后,还需通过分支路径覆盖的形式构建理想的适应度函数。

由于分支路径覆盖包括嵌套与谓词2种不同元素,嵌套越深,越不容易实现全面覆盖。

因此,本文利用嵌套权重Qωn(bchi)Qωn(bchi)来判断嵌套深度是否合理。

设定bchi为某个分支;lmax和lmin分别为最大与最小嵌套深度;li'为现阶段嵌套深度。

因此,嵌套权重表达式为
最终针对检测程序P建立适应度函数为
s为分支数量;ωi′为惯性权重;f(bchi)f(bchi)为分支bchi的适应度函数。

由此可知,添加分支权重后,适应度函数可体现每个路径覆盖的全部信息,提高粒子群搜索的全明性。

2.3 建立系统兼容性测试模型
在检测过程中,结合碰撞域有关理论,经过对碰撞域半径的不断调节,得出覆盖率的理想值。

利用上述改进的粒子群算法对测试用例做迭代处理,迅速建立兼容性较好的测试用例集合。

合理设置兼容性检测数据变量的关键参考量,确保该值在一定区间内,为从测试数据中确定参数范围,必须获取被测软件参数的参考量。

计算碰撞半径后,需进一步统计碰撞次数。

如果碰撞次数高于设定阈值,则表明在此参数区间内,生成大量测试用例,这时需要缩小碰撞半径,进而减少检测碰撞域。

调节碰撞半径的主要目的:在参数范围较广时,提高碰撞半径的下调速度,避免粒子群算法的迭代次数较多。

将经过修正的测试用例添加到样本集合,在粒子群算法的每一代中获得优秀用例,迭代过程可帮助生成覆盖率高的检测用例,迭代过程为
式(5)为测试用例的迭代过程。

其中,A为迭代周期;h0与ψ均为迭代过程中的算子;φ1和φ2均为经过修正的参数。

在对优秀测试用例进行迭代操作时,对新产生的用例和覆盖率较高的用例中的2个参数进行变换,生成新用例。

对生成的样本集合做多次迭代,直到给出软件兼容性的检测结果后,停止迭代。

将上述算法代入到云计算中,利用云交互平台为用户提供检测服务,则基于云计算的软件兼容性检测流程如图2所示。

图2 检测流程
结束语
兼容性测试是软件系统正常运行的必要保障,本文在云计算中,利用粒子群算法对分布式软件系统的兼容性进行测试。

仿真实验表明,该方法能够准确检测出不兼容的软件,同时具有较高的自动化程度。

云计算是软件性能测试领域中的新形势,在此环境下,能够提高检测效果,更加省时省力,在今后研究中可通过云计算技术测试软件的其他性能,使分布式系统更好地为人们提供服务。

参考文献
[1] 丁群.基于脆弱特征导向的移动端软件性能测试仿真[J].计算机仿真,2019,36(9):185-188,250.
[2] 惠子青,刘晓燕,严馨.一种动态加权组合神经网络模型的软件测试方法[J].微电子学与计算机,2020,37(4):60-64.
[3] 袁月.一种层次化的云操作系统性能诊断方法[J].计算机科学,2019,46(3):321-326.
钟方伟(1981-),男,毕业于长春大学,工学学士,研究方向软件工程、多语种信息处理、企业信息化。

相关文档
最新文档