基于随机Petri网的网络应用系统负载仿真模型

2019-10-08 07:45何通刘俊艳李杏
软件 2019年1期
关键词:网络应用仿真分析

何通 刘俊艳 李杏

摘  要: 提出基于随机Petri网的网络应用系统负载Petri网(NSLPN)模型的定义,并给出该模型的一般构造方法,基于应用功能调用链将应用划分模块,根据调用链分析模块间调用关系构建出应用调用网络,并将其抽象为NSLPN模型,添加用于满足标准SPN模型以及人工干涉系统状态的辅助结构,求解系统负载稳态分布规律,具备模拟人工干涉下系统负载演变过程的能力。实例研究表明,该模型能够直观体现网络应用负载演变过程,能够为系统优化提供科学准确的数据参考。

关键词: 网络应用;随机Petri网;系统负载;仿真分析

中图分类号: TP391.9    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.01.022

【Abstract】: The definition of the network-based system load Petri net (NSLPN) model based on stochastic Petri nets is proposed, and the general construction method of the model is given. The partitioning module and calling network is constructed according to the calling relationship between the calling chain analysis modules based on the system function call chain, and abstracted into an NSLPN model. An auxiliary structure for satisfying the standard SPN model and the state of the artificial interference system is added to solve the steady-state distribution law of the system load, and the ability to simulate the system load evolution process under artificial interference is provided. The case study shows that the model can intuitively reflect the evolution process of network application load and provide scientific and accurate data reference for system optimization.

【Key words】: Network application; SPN; System load; Simulation analysis

0  引言

在互联网时代,软件的运行环境和开发方法发生了重要变化,中国学者将这种新范型命名为网构软件,网构软件对包括操作系统在内的软件技术体系带来一系列新挑战[1]。应用系统复杂度日益增加,由于网络系统中存在大量跨应用、跨服务调用关系,为实现系统功能提供服务的模块数量更多,因而系统复杂化趋势在网络应用系统中尤为明显,此外应用系统模块遵循单一职责原则、抽象化程度提高导致了功能调用链延长,多个调用链相互交叉致使系统各模块的负载更加难以预测。针对网络应用系统负载动态演变过程进行建模分析,明确模块间负载变化相互作用的机制与规律,有助于采取更具针对性的系统优化措施。

软件系统性能是一个覆盖面非常广泛的概念,主要包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等[2],系统性能从多方面保证系统正确发挥作用,包括自动化测试生命周期方法学[3]、DTMC理论和卷积原理[4]、随机Petri网模型瞬态概率分析[5]等多种理论被应用于包括网络应用系统在内的多种软件系统的性能分析与负载下可靠性的相关研究,随着大数据等先进技术的引入,研究目标系统日益复杂化,传统方案无法完成系统负载分析[6],复杂网络理论被引入Linux类协作软件图中,把其中的实体和关系转换成为网络拓扑的形式,实现了复杂网络的特性的研究,提出利用网络拓扑特征可以改善软件系统的设计、开发和测试方法[7]。针对网构软件,有学者使用层次着色Petri网构建了网构软件性能建模,实现了外部负载对服务进而对网构软件性能影响的仿真分析[8]。

当前已有研究(1)未能提现系统负载水平沿调用链传播过程及系统功能调用过程对随机性;(2)未能给出由网络应用系统抽象为数学模型等一般方法,不便于实现仿真分析过程自动化;(3)未能将人工对应用系统运行状态对控制考虑在哪,难以体现人为操作對系统负载产生的影响。本文根据系统功能调用链将网络应用系统划分为模块,将模块抽象为库所,将模块间调用关系抽象为变迁,构建网络应用节点负载Petri网(NSLPN)模型,添加辅助变迁,使其满足执行SPN系统性能分析的必备条件,并为人工干涉系统运行状态提供入口,计算应用系统接受随机访问状态下系统稳态负载分布概率,实现对网络应用系统负载动态演变过程对建模与分析。

猜你喜欢
网络应用仿真分析
交通领域中面向D2D的5G通信网络应用探析
基于数字电子技术的通信网络应用研究
DYNA在安全带固定点强度仿真分析中的应用
半挂汽车列车直角转弯仿真分析
大气环境质量评价工作中基于MATLAB的BP神经网络应用探究
网络应用识别系统的研究与实现
PocketPC网络应用全接触