软件定义网络系统的可靠性研究
夏飞
摘 要: 可靠性是评价软件定义网络(SDN)系统的一项关键指标,为了提高SDN系统的整体可靠性,针对系统的软件可靠性进行研究,提出一种基于量子群优化算法的SDN系统软件可靠性评估模型。首先对SDN系统的软件可靠性研究现状进行分析,并建立相应的数学模型,然后采用量子粒子群算法对数学模型进行求解,并通过具体数据对软件可靠性评估模型的性能进行仿真测试。结果表明,量子粒子群算法可以对SDN系统的软件可靠性进行准确评估,很好地描述了SDN系统的软件可靠性变化趋势,而且求解结果要优于其他模型,实际应用价值更高。
关键词: 量子粒子群算法; 软件定义网络; 软件可靠性; 数学模型
中图分类号: TN915.08?34 文献标识码: A 文章编号: 1004?373X(2017)17?0020?03
Research on reliability of software defined network system
XIA Fei
(Information Communication Company, State Grid Jiangsu Electric Power Company, Nanjing 210024, China)
Abstract: The reliability is a key index to evaluate the software defined network (SDN) system. In order to improve the overall reliability of SDN system, the software reliability of the system is studied, and then a SDN system′s software reliability evaluation model based on quantum?behaved particle swarm optimization algorithm is proposed. The research statue of software reliability of SDN system is analyzed. The corresponding mathematical model was established, and solved with the quantum?behaved particle swarm optimization algorithm. The simulation test was performed for the performance of the software reliability evaluation model by means of specific data. The results show that the quantum?behaved particle swarm optimization algorithm can evaluate the software reliability of the SDN system accurately, describe the software reliability variation trend of SDN system perfectly, and its solving result is better than that of other models and has high practical application value.
Keywords: quantum?behaved particle swarm algorithm; software defined network; software reliability; mathematical model
0 引 言
随着网络技术应用的不断深入,网络用户数量迅速增加,为了满足应用要求,产生了一种新型网络架构——软件定义网络(SDN)系统[1?3]。无论哪一种网络系统,可靠性是一项关键的性能指标。SDN系统的可靠性包括硬件可靠性和软件可靠性两个研究方向,本文主要针对软件可靠性进行分析[4]。
为了提高SDN系统的可靠性,针对系统中的软件可靠性进行研究。提出一种量子粒子群算法的SDN系统的软件可靠性评估模型,仿真测试结果表明,量子粒子群算法可以对SDN系统的软件可靠性进行准确评估,十分准确地描述了SDN系统的软件可靠性变化趋势。
1 软件可靠性评估的相关研究
SDN系统在工作过程中,有时会出现故障,故障一旦被消除,那么SDN的软件失效率下降,因此失效率是评价SDN系统软件可靠性的一个重要指标[5]。SDN系统的软件开发完成后,软件工程师就不停地排除软件错误,理想状态时,失效率将接近于零[6]。在SDN的工作过程中,可能有新的错误产生,一段时间以后,失效率会发生变化出现新值,即对SDN系统的软件失效数据进行分析后,可采用可靠性预测对失效率进行估计。当前,SDN系统的软件可靠性评估模型众多,如有基于非线性函数的软件可靠性评估、有基于极大似然法和最小二乘法估计参数的软件可靠性评估。当样本数量较大时,一般选择极大似然法进行评估,否则就选择最小二乘法[7?9]。但是这些软件可靠性评估模型存在一些缺陷,如均采用概率论统计方法,对约束条件破坏性比较严重,为了解决这些方法的不足,有学者提出采用神经网络的软件可靠性评估模型,然而神经网络学习时间过长,泛化能力差,因此设计性能优异的SDN系统的软件可靠性评估模型仍然面临挑战[10]。
2 量子粒子群优化算法
2.1 标准粒子群优化算法
标准粒子群优化算法模拟鸟群飞行觅食行为,根据群体和同伴的位置信息找到全局最优位置,即问题的最优解。
设粒子位置和速度向量分别为和每一个粒子根据其他粒子的飞行轨迹调整飞行方向,粒子的最优位置为则有,表示迭代次数,第次迭代的速度和位置分别为和,当前全局最好位置为,粒子速度和位置更新方程为[11]:
(1)
(2)
式中:表示认知项系数;表示社会项系数;是服从(0,l)的随机数。
2.2 量子粒子群优化算法
在量子力学中,粒子的位置与速度具有概率的特征,可以采用波函数描述粒子状态,波函数强度和粒子在该点出现的概率满足如下条件:
(3)
粒子运动的动力学方程为:
(4)
式中:为普朗克常数;为哈密顿算子,其定义如下:
(5)
式中:为粒子的质量;为势场。
根据粒子的收敛行为推导出粒子的定态薛定谔方程,得到粒子定态的波函数为:
(6)
式中:为粒子的吸引子。
粒子的位置由如下的随机方程确定:
(7)
式中为随机数。
综上可知,具有量子行为的粒子进化方程为:
(8)
式中为搜索扩张系数。
为粒子群的最好位置平均值,计算公式为:
(9)
式中和为粒子规模和搜索维度。
为粒子在第维、第次迭代中的吸引子,具体为:
(10)
式中:为随机数;和是粒子个体和粒子群的最优位置。
3 SDN系统的可靠性评估模型
3.1 可靠性评估的数学模型
在进行SDN系统的软件可靠性评估过程中,最重要的问题是构建最合理的数学模型。设SDN系统的软件可靠性函数为为失效发生的时间,为模型的参数,共个参数,即表示SDN系统的软件可靠性评估问题的求解维度。采用模型和实际软件的累计失效数平方差建立数学模型的目标函数,即有:
(11)
式中:为测试时间;表示模型的失效数;为实际失效数。
3.2 量子粒子群优化算法的求解
在量子群优化算法中,粒子无速度,第次迭代时,粒子群的当前最优位置和,满足如下条件:
(12)
适应度值越小,位置越优化,SDN系统的软件可靠性评估误差更小,粒子的最优位置为:
(13)
由于粒子的吸引子为:
(14)
式中
比较与,如果>,采用式(8)进行更新操作。
基于量子粒子群優化算法的SDN系统软件可靠性求解步骤如下:
(1) 根据具体SDN系统软件可靠性评估模型,进行参数初始化,主要包括粒子初始位置、个体最好位置。
(2) 计算适应度值,如果,那么有否则。
(3) 计算,如果那么否则
(4) 计算粒子在第次迭代中的吸引子。
(5) 根据吸引子更新粒子位置。
(6) 如果那么有如果,就有。
(7) 判断终止条件,若不满足终止条件,那么迭代次数增加,否则退出算法。
(8) 根据粒子最优位置得到SDN系统软件可靠性评估结果。
4 仿真实验
4.1 数据来源
为了测试本文设计的SDN系统软件可靠性的评估性能,采用一个SDN系统的软件失效数据作为研究对象,收集到的数据如图1所示,选择50个数据组成训练集,建立SDN系统软件可靠性评估模型,其他数据组成测试集验证模型的性能。
4.2 结果与分析
采用训练集对SDN系统软件可靠性评估模型的拟合性能进行测试,得到的测试结果如图2所示。对图2的拟合结果进行分析,可以发现量子群优化算法能够拟合SDN系统软件可靠性的变化特点,得到比较高的拟合精度。
采用测试样本对SDN系统软件可靠性评估模型的泛化性能进行测试,得到的结果如图3所示。
从图3可以清楚地看出,量子粒子群算法可以对SDN系统软件可靠性进行精准的评估,评估精度高,得到了十分理想的SDN系统软件可靠性评估结果,证明本文模型是一种精度高、有效的SDN系统软件可靠性评估模型。
选择BP神经网络、Markov链、蚁群算法进行对比测试,选择SDN系统软件可靠性的评估精度和平均评估时间作为评价指标。统计所有模型的SDN系统软件可靠性评估精度和平均评估时间,结果见表1。
对表1进行分析可以发现:相对于其他软件可靠性评估模型,本文的SDN系统软件可靠性评估精度更高,而且减少了平均评估时间,加快了SDN系统软件可靠性评估的速度,有效提高了软件评估的可靠性。
5 结 语
可靠性是SDN系统研究中的主要方向,尤其是软件的可靠性,当前模型十分复杂,对于大规模数据评估效率低,准确度低。在分析当前软件可靠性评估模型的基础上。提出量子群优化算法的SDN系统软件可靠性评估模型,并通过具体实验数据对模型的性能进行仿真实验。结果表明,本文模型提高了SDN系统软件可靠性评估精度,而且评估速度具有明显优势。
参考文献
[1] MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al. OpenFlow: enabling innovation in campus networks [J]. ACM SIUCOMM computer communication review, 2008, 38(2): 69?74.
[2] DIXON, OLSHEFSKI D, JAIN V, et al. Software defined networking to support the software defined environment [J]. IBM journal of research and development, 2014, 58(2): 1?14.
[3] JAIN S, KUMAR A, MANDAL S, et al. B4: experience with a globally?deployed software defined WAN [J]. ACM SIUCOMM computer communication review, 2013, 43(4): 3?14.
[4] HONG Y, KANDULA S, MAHAJAN R, et al. Achieving high utilization with software?driven WAN [J]. ACM SIUCOMM computer communication review, 2013, 43(4): 15?26.
[5] 曾劲涛,崔志明,陈建明.一种新的软件可靠性模型参数估计方法[J].计算机技术与发展,2008,18(7):209?211.
[6] 陈振华,王峰.基于Markov链使用模型的软件可靠性测评方法研究[J].计算机工程与设计,2007,28(12):22?25.
[7] 许宁,张毅冲.基于正交分层聚类算法软件可靠性模型的预测分析[J].计算机应用,2007,27(3):635?637.
[8] 张克涵,李爱国,宋保维.基于PSO的软件可靠性模型参数估计方法[J].计算机工程与应用,2008,44(11):47?49.
[9] 郑长友,刘晓明,黄松.基于蚁群算法的软件可靠性模型参数估计方法[J].计算机应用,2012,32(4):1147?1151.
[10] 宛考,罗雪峰,江勇,等.软件定义网络系统中面向流的调度算法[J].计算机学报,2016,39(6):1208?1223.
[11] 张家海,徐耀群,路明.PLC控制系统软件可靠性的神经网络预测[J].哈尔滨工业大学学报,2006,38(4):662?664.
[12] 刘俊芳,高岳林.带自适应变异的量子粒子群优化算法[J].计算机工程与应用,2011,47(3):41?43.
摘 要: 可靠性是评价软件定义网络(SDN)系统的一项关键指标,为了提高SDN系统的整体可靠性,针对系统的软件可靠性进行研究,提出一种基于量子群优化算法的SDN系统软件可靠性评估模型。首先对SDN系统的软件可靠性研究现状进行分析,并建立相应的数学模型,然后采用量子粒子群算法对数学模型进行求解,并通过具体数据对软件可靠性评估模型的性能进行仿真测试。结果表明,量子粒子群算法可以对SDN系统的软件可靠性进行准确评估,很好地描述了SDN系统的软件可靠性变化趋势,而且求解结果要优于其他模型,实际应用价值更高。
关键词: 量子粒子群算法; 软件定义网络; 软件可靠性; 数学模型
中图分类号: TN915.08?34 文献标识码: A 文章编号: 1004?373X(2017)17?0020?03
Research on reliability of software defined network system
XIA Fei
(Information Communication Company, State Grid Jiangsu Electric Power Company, Nanjing 210024, China)
Abstract: The reliability is a key index to evaluate the software defined network (SDN) system. In order to improve the overall reliability of SDN system, the software reliability of the system is studied, and then a SDN system′s software reliability evaluation model based on quantum?behaved particle swarm optimization algorithm is proposed. The research statue of software reliability of SDN system is analyzed. The corresponding mathematical model was established, and solved with the quantum?behaved particle swarm optimization algorithm. The simulation test was performed for the performance of the software reliability evaluation model by means of specific data. The results show that the quantum?behaved particle swarm optimization algorithm can evaluate the software reliability of the SDN system accurately, describe the software reliability variation trend of SDN system perfectly, and its solving result is better than that of other models and has high practical application value.
Keywords: quantum?behaved particle swarm algorithm; software defined network; software reliability; mathematical model
0 引 言
随着网络技术应用的不断深入,网络用户数量迅速增加,为了满足应用要求,产生了一种新型网络架构——软件定义网络(SDN)系统[1?3]。无论哪一种网络系统,可靠性是一项关键的性能指标。SDN系统的可靠性包括硬件可靠性和软件可靠性两个研究方向,本文主要针对软件可靠性进行分析[4]。
为了提高SDN系统的可靠性,针对系统中的软件可靠性进行研究。提出一种量子粒子群算法的SDN系统的软件可靠性评估模型,仿真测试结果表明,量子粒子群算法可以对SDN系统的软件可靠性进行准确评估,十分准确地描述了SDN系统的软件可靠性变化趋势。
1 软件可靠性评估的相关研究
SDN系统在工作过程中,有时会出现故障,故障一旦被消除,那么SDN的软件失效率下降,因此失效率是评价SDN系统软件可靠性的一个重要指标[5]。SDN系统的软件开发完成后,软件工程师就不停地排除软件错误,理想状态时,失效率将接近于零[6]。在SDN的工作过程中,可能有新的错误产生,一段时间以后,失效率会发生变化出现新值,即对SDN系统的软件失效数据进行分析后,可采用可靠性预测对失效率进行估计。当前,SDN系统的软件可靠性评估模型众多,如有基于非线性函数的软件可靠性评估、有基于极大似然法和最小二乘法估计参数的软件可靠性评估。当样本数量较大时,一般选择极大似然法进行评估,否则就选择最小二乘法[7?9]。但是这些软件可靠性评估模型存在一些缺陷,如均采用概率论统计方法,对约束条件破坏性比较严重,为了解决这些方法的不足,有学者提出采用神经网络的软件可靠性评估模型,然而神经网络学习时间过长,泛化能力差,因此设计性能优异的SDN系统的软件可靠性评估模型仍然面临挑战[10]。
2 量子粒子群优化算法
2.1 标准粒子群优化算法
标准粒子群优化算法模拟鸟群飞行觅食行为,根据群体和同伴的位置信息找到全局最优位置,即问题的最优解。
设粒子位置和速度向量分别为和每一个粒子根据其他粒子的飞行轨迹调整飞行方向,粒子的最优位置为则有,表示迭代次数,第次迭代的速度和位置分别为和,当前全局最好位置为,粒子速度和位置更新方程为[11]:
(1)
(2)
式中:表示认知项系数;表示社会项系数;是服从(0,l)的随机数。
2.2 量子粒子群优化算法
在量子力学中,粒子的位置与速度具有概率的特征,可以采用波函数描述粒子状态,波函数强度和粒子在该点出现的概率满足如下条件:
(3)
粒子运动的动力学方程为:
(4)
式中:为普朗克常数;为哈密顿算子,其定义如下:
(5)
式中:为粒子的质量;为势场。
根据粒子的收敛行为推导出粒子的定态薛定谔方程,得到粒子定态的波函数为:
(6)
式中:为粒子的吸引子。
粒子的位置由如下的随机方程确定:
(7)
式中为随机数。
综上可知,具有量子行为的粒子进化方程为:
(8)
式中为搜索扩张系数。
为粒子群的最好位置平均值,计算公式为:
(9)
式中和为粒子规模和搜索维度。
为粒子在第维、第次迭代中的吸引子,具体为:
(10)
式中:为随机数;和是粒子个体和粒子群的最优位置。
3 SDN系统的可靠性评估模型
3.1 可靠性评估的数学模型
在进行SDN系统的软件可靠性评估过程中,最重要的问题是构建最合理的数学模型。设SDN系统的软件可靠性函数为为失效发生的时间,为模型的参数,共个参数,即表示SDN系统的软件可靠性评估问题的求解维度。采用模型和实际软件的累计失效数平方差建立数学模型的目标函数,即有:
(11)
式中:为测试时间;表示模型的失效数;为实际失效数。
3.2 量子粒子群优化算法的求解
在量子群优化算法中,粒子无速度,第次迭代时,粒子群的当前最优位置和,满足如下条件:
(12)
适应度值越小,位置越优化,SDN系统的软件可靠性评估误差更小,粒子的最优位置为:
(13)
由于粒子的吸引子为:
(14)
式中
比较与,如果>,采用式(8)进行更新操作。
基于量子粒子群優化算法的SDN系统软件可靠性求解步骤如下:
(1) 根据具体SDN系统软件可靠性评估模型,进行参数初始化,主要包括粒子初始位置、个体最好位置。
(2) 计算适应度值,如果,那么有否则。
(3) 计算,如果那么否则
(4) 计算粒子在第次迭代中的吸引子。
(5) 根据吸引子更新粒子位置。
(6) 如果那么有如果,就有。
(7) 判断终止条件,若不满足终止条件,那么迭代次数增加,否则退出算法。
(8) 根据粒子最优位置得到SDN系统软件可靠性评估结果。
4 仿真实验
4.1 数据来源
为了测试本文设计的SDN系统软件可靠性的评估性能,采用一个SDN系统的软件失效数据作为研究对象,收集到的数据如图1所示,选择50个数据组成训练集,建立SDN系统软件可靠性评估模型,其他数据组成测试集验证模型的性能。
4.2 结果与分析
采用训练集对SDN系统软件可靠性评估模型的拟合性能进行测试,得到的测试结果如图2所示。对图2的拟合结果进行分析,可以发现量子群优化算法能够拟合SDN系统软件可靠性的变化特点,得到比较高的拟合精度。
采用测试样本对SDN系统软件可靠性评估模型的泛化性能进行测试,得到的结果如图3所示。
从图3可以清楚地看出,量子粒子群算法可以对SDN系统软件可靠性进行精准的评估,评估精度高,得到了十分理想的SDN系统软件可靠性评估结果,证明本文模型是一种精度高、有效的SDN系统软件可靠性评估模型。
选择BP神经网络、Markov链、蚁群算法进行对比测试,选择SDN系统软件可靠性的评估精度和平均评估时间作为评价指标。统计所有模型的SDN系统软件可靠性评估精度和平均评估时间,结果见表1。
对表1进行分析可以发现:相对于其他软件可靠性评估模型,本文的SDN系统软件可靠性评估精度更高,而且减少了平均评估时间,加快了SDN系统软件可靠性评估的速度,有效提高了软件评估的可靠性。
5 结 语
可靠性是SDN系统研究中的主要方向,尤其是软件的可靠性,当前模型十分复杂,对于大规模数据评估效率低,准确度低。在分析当前软件可靠性评估模型的基础上。提出量子群优化算法的SDN系统软件可靠性评估模型,并通过具体实验数据对模型的性能进行仿真实验。结果表明,本文模型提高了SDN系统软件可靠性评估精度,而且评估速度具有明显优势。
参考文献
[1] MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al. OpenFlow: enabling innovation in campus networks [J]. ACM SIUCOMM computer communication review, 2008, 38(2): 69?74.
[2] DIXON, OLSHEFSKI D, JAIN V, et al. Software defined networking to support the software defined environment [J]. IBM journal of research and development, 2014, 58(2): 1?14.
[3] JAIN S, KUMAR A, MANDAL S, et al. B4: experience with a globally?deployed software defined WAN [J]. ACM SIUCOMM computer communication review, 2013, 43(4): 3?14.
[4] HONG Y, KANDULA S, MAHAJAN R, et al. Achieving high utilization with software?driven WAN [J]. ACM SIUCOMM computer communication review, 2013, 43(4): 15?26.
[5] 曾劲涛,崔志明,陈建明.一种新的软件可靠性模型参数估计方法[J].计算机技术与发展,2008,18(7):209?211.
[6] 陈振华,王峰.基于Markov链使用模型的软件可靠性测评方法研究[J].计算机工程与设计,2007,28(12):22?25.
[7] 许宁,张毅冲.基于正交分层聚类算法软件可靠性模型的预测分析[J].计算机应用,2007,27(3):635?637.
[8] 张克涵,李爱国,宋保维.基于PSO的软件可靠性模型参数估计方法[J].计算机工程与应用,2008,44(11):47?49.
[9] 郑长友,刘晓明,黄松.基于蚁群算法的软件可靠性模型参数估计方法[J].计算机应用,2012,32(4):1147?1151.
[10] 宛考,罗雪峰,江勇,等.软件定义网络系统中面向流的调度算法[J].计算机学报,2016,39(6):1208?1223.
[11] 张家海,徐耀群,路明.PLC控制系统软件可靠性的神经网络预测[J].哈尔滨工业大学学报,2006,38(4):662?664.
[12] 刘俊芳,高岳林.带自适应变异的量子粒子群优化算法[J].计算机工程与应用,2011,47(3):41?43.