何通 劉俊艷 李杏
摘? 要: 提出基于隨機(jī)Petri網(wǎng)的網(wǎng)絡(luò)應(yīng)用系統(tǒng)負(fù)載Petri網(wǎng)(NSLPN)模型的定義,并給出該模型的一般構(gòu)造方法,基于應(yīng)用功能調(diào)用鏈將應(yīng)用劃分模塊,根據(jù)調(diào)用鏈分析模塊間調(diào)用關(guān)系構(gòu)建出應(yīng)用調(diào)用網(wǎng)絡(luò),并將其抽象為NSLPN模型,添加用于滿(mǎn)足標(biāo)準(zhǔn)SPN模型以及人工干涉系統(tǒng)狀態(tài)的輔助結(jié)構(gòu),求解系統(tǒng)負(fù)載穩(wěn)態(tài)分布規(guī)律,具備模擬人工干涉下系統(tǒng)負(fù)載演變過(guò)程的能力。實(shí)例研究表明,該模型能夠直觀體現(xiàn)網(wǎng)絡(luò)應(yīng)用負(fù)載演變過(guò)程,能夠?yàn)橄到y(tǒng)優(yōu)化提供科學(xué)準(zhǔn)確的數(shù)據(jù)參考。
關(guān)鍵詞: 網(wǎng)絡(luò)應(yīng)用;隨機(jī)Petri網(wǎng);系統(tǒng)負(fù)載;仿真分析
中圖分類(lèi)號(hào): TP391.9? ? 文獻(xiàn)標(biāo)識(shí)碼: 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? 引言
在互聯(lián)網(wǎng)時(shí)代,軟件的運(yùn)行環(huán)境和開(kāi)發(fā)方法發(fā)生了重要變化,中國(guó)學(xué)者將這種新范型命名為網(wǎng)構(gòu)軟件,網(wǎng)構(gòu)軟件對(duì)包括操作系統(tǒng)在內(nèi)的軟件技術(shù)體系帶來(lái)一系列新挑戰(zhàn)[1]。應(yīng)用系統(tǒng)復(fù)雜度日益增加,由于網(wǎng)絡(luò)系統(tǒng)中存在大量跨應(yīng)用、跨服務(wù)調(diào)用關(guān)系,為實(shí)現(xiàn)系統(tǒng)功能提供服務(wù)的模塊數(shù)量更多,因而系統(tǒng)復(fù)雜化趨勢(shì)在網(wǎng)絡(luò)應(yīng)用系統(tǒng)中尤為明顯,此外應(yīng)用系統(tǒng)模塊遵循單一職責(zé)原則、抽象化程度提高導(dǎo)致了功能調(diào)用鏈延長(zhǎng),多個(gè)調(diào)用鏈相互交叉致使系統(tǒng)各模塊的負(fù)載更加難以預(yù)測(cè)。針對(duì)網(wǎng)絡(luò)應(yīng)用系統(tǒng)負(fù)載動(dòng)態(tài)演變過(guò)程進(jìn)行建模分析,明確模塊間負(fù)載變化相互作用的機(jī)制與規(guī)律,有助于采取更具針對(duì)性的系統(tǒng)優(yōu)化措施。
軟件系統(tǒng)性能是一個(gè)覆蓋面非常廣泛的概念,主要包括執(zhí)行效率、資源占用、穩(wěn)定性、安全性、兼容性、可擴(kuò)展性、可靠性等[2],系統(tǒng)性能從多方面保證系統(tǒng)正確發(fā)揮作用,包括自動(dòng)化測(cè)試生命周期方法學(xué)[3]、DTMC理論和卷積原理[4]、隨機(jī)Petri網(wǎng)模型瞬態(tài)概率分析[5]等多種理論被應(yīng)用于包括網(wǎng)絡(luò)應(yīng)用系統(tǒng)在內(nèi)的多種軟件系統(tǒng)的性能分析與負(fù)載下可靠性的相關(guān)研究,隨著大數(shù)據(jù)等先進(jìn)技術(shù)的引入,研究目標(biāo)系統(tǒng)日益復(fù)雜化,傳統(tǒng)方案無(wú)法完成系統(tǒng)負(fù)載分析[6],復(fù)雜網(wǎng)絡(luò)理論被引入Linux類(lèi)協(xié)作軟件圖中,把其中的實(shí)體和關(guān)系轉(zhuǎn)換成為網(wǎng)絡(luò)拓?fù)涞男问?,?shí)現(xiàn)了復(fù)雜網(wǎng)絡(luò)的特性的研究,提出利用網(wǎng)絡(luò)拓?fù)涮卣骺梢愿纳栖浖到y(tǒng)的設(shè)計(jì)、開(kāi)發(fā)和測(cè)試方法[7]。針對(duì)網(wǎng)構(gòu)軟件,有學(xué)者使用層次著色Petri網(wǎng)構(gòu)建了網(wǎng)構(gòu)軟件性能建模,實(shí)現(xiàn)了外部負(fù)載對(duì)服務(wù)進(jìn)而對(duì)網(wǎng)構(gòu)軟件性能影響的仿真分析[8]。
當(dāng)前已有研究(1)未能提現(xiàn)系統(tǒng)負(fù)載水平沿調(diào)用鏈傳播過(guò)程及系統(tǒng)功能調(diào)用過(guò)程對(duì)隨機(jī)性;(2)未能給出由網(wǎng)絡(luò)應(yīng)用系統(tǒng)抽象為數(shù)學(xué)模型等一般方法,不便于實(shí)現(xiàn)仿真分析過(guò)程自動(dòng)化;(3)未能將人工對(duì)應(yīng)用系統(tǒng)運(yùn)行狀態(tài)對(duì)控制考慮在哪,難以體現(xiàn)人為操作對(duì)系統(tǒng)負(fù)載產(chǎn)生的影響。本文根據(jù)系統(tǒng)功能調(diào)用鏈將網(wǎng)絡(luò)應(yīng)用系統(tǒng)劃分為模塊,將模塊抽象為庫(kù)所,將模塊間調(diào)用關(guān)系抽象為變遷,構(gòu)建網(wǎng)絡(luò)應(yīng)用節(jié)點(diǎn)負(fù)載Petri網(wǎng)(NSLPN)模型,添加輔助變遷,使其滿(mǎn)足執(zhí)行SPN系統(tǒng)性能分析的必備條件,并為人工干涉系統(tǒng)運(yùn)行狀態(tài)提供入口,計(jì)算應(yīng)用系統(tǒng)接受隨機(jī)訪問(wèn)狀態(tài)下系統(tǒng)穩(wěn)態(tài)負(fù)載分布概率,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)應(yīng)用系統(tǒng)負(fù)載動(dòng)態(tài)演變過(guò)程對(duì)建模與分析。