于 波
(江蘇自動(dòng)化研究所,江蘇 連云港 222061)
面向服務(wù)的信息系統(tǒng)有很強(qiáng)的實(shí)時(shí)性要求,尤其是實(shí)時(shí)雷達(dá)情報(bào)、技術(shù)偵察情報(bào)處理的信息系統(tǒng)時(shí)延都小于秒級(jí),而通用SOA實(shí)現(xiàn)技術(shù)由于其傳輸協(xié)議、消息協(xié)議的松耦合性,消息協(xié)議為字符型協(xié)議的特點(diǎn),無法滿足信息系統(tǒng)對(duì)信息處理、分發(fā)實(shí)時(shí)性的要求[1]。目前,提高實(shí)時(shí)性是SOA信息系統(tǒng)的研究熱點(diǎn)。隨著SOA信息實(shí)時(shí)系統(tǒng)構(gòu)建技術(shù)的發(fā)展,給測(cè)試技術(shù)帶來了挑戰(zhàn)。在SOA信息實(shí)時(shí)系統(tǒng)測(cè)試中,實(shí)時(shí)性能測(cè)試會(huì)變得尤其重要,傳統(tǒng)的性能評(píng)估方法在SOA信息實(shí)時(shí)系統(tǒng)中顯然已不再適用[2]。因此,需要研究滿足信息系統(tǒng)實(shí)時(shí)性的評(píng)估技術(shù),并研制相應(yīng)的軟件,形成實(shí)時(shí)SOA運(yùn)行評(píng)估系統(tǒng),以實(shí)現(xiàn)實(shí)時(shí)雷達(dá)情報(bào)、技術(shù)偵察情報(bào)處理等信息系統(tǒng)時(shí)延的準(zhǔn)確評(píng)估。
面向服務(wù)的信息系統(tǒng)具有松耦合、高互操作性的特點(diǎn)。在面向服務(wù)的信息系統(tǒng)中,服務(wù)提供者對(duì)其所提供的服務(wù)并發(fā)響應(yīng)能力有限的情況下,如果請(qǐng)求者的請(qǐng)求數(shù)量太多,超過服務(wù)提供者并發(fā)響應(yīng)能力,應(yīng)當(dāng)如何調(diào)度來滿足盡量多的請(qǐng)求。這個(gè)問題對(duì)于實(shí)時(shí)面向服務(wù)的信息系統(tǒng)特別重要,面向服務(wù)的信息系統(tǒng)的關(guān)鍵特點(diǎn)就是要保證實(shí)時(shí)性,因此請(qǐng)求不能無限期等待下去,必須要進(jìn)行合理調(diào)度[3]。為了保證系統(tǒng)的實(shí)時(shí)性,傳統(tǒng)指火控系統(tǒng)往往將具有實(shí)時(shí)性要求的功能任務(wù)分配給高優(yōu)先級(jí)線程進(jìn)行處理,甚至讓系統(tǒng)獨(dú)占多核處理器中的一個(gè)內(nèi)核,而在面向服務(wù)的架構(gòu)設(shè)計(jì)中,服務(wù)實(shí)體的運(yùn)行由服務(wù)管理中心進(jìn)行統(tǒng)一的調(diào)度和資源均衡。不同的系統(tǒng)運(yùn)行場(chǎng)景給服務(wù)請(qǐng)求者的等待時(shí)間帶來了一定程度的波動(dòng)和不確定性,因此需要對(duì)服務(wù)實(shí)體的訪問頻率、并發(fā)訪問概率、響應(yīng)時(shí)間因素進(jìn)行評(píng)估分析,構(gòu)造出可能存在時(shí)間波動(dòng)的服務(wù)實(shí)體訪問場(chǎng)景,從而找出引起服務(wù)實(shí)體響應(yīng)的時(shí)間波動(dòng)的原因。
面向服務(wù)的信息系統(tǒng)實(shí)時(shí)性測(cè)試主要根據(jù)信息系統(tǒng)業(yè)務(wù)剖面模擬出服務(wù)運(yùn)行時(shí)的各種場(chǎng)景。首先,根據(jù)系統(tǒng)的業(yè)務(wù)剖面構(gòu)造服務(wù)實(shí)體的被訪問剖面,根據(jù)服務(wù)實(shí)體的調(diào)用關(guān)系提取出所有流程及發(fā)生概率;然后,預(yù)測(cè)訪問頻率、并發(fā)訪問概率及響應(yīng)時(shí)間,模擬并測(cè)試出不同訪問場(chǎng)景下服務(wù)實(shí)體的平均響應(yīng)時(shí)間指標(biāo);最后,根據(jù)不同訪問場(chǎng)景下的時(shí)間波動(dòng)趨勢(shì),對(duì)系統(tǒng)的設(shè)計(jì)缺陷進(jìn)行分析。構(gòu)建服務(wù)訪問頻率、并發(fā)訪問概率及響應(yīng)時(shí)間的評(píng)估方法是SOA實(shí)時(shí)系統(tǒng)性能測(cè)試中至關(guān)重要的一環(huán),是服務(wù)實(shí)體被訪問場(chǎng)景設(shè)計(jì)的基礎(chǔ)和依據(jù)。
面向服務(wù)的信息系統(tǒng)中對(duì)不同的業(yè)務(wù)訪問的頻率有所不同,部分業(yè)務(wù)流程被調(diào)用的頻率非常高,為了保證能快速、高效地完成任務(wù),對(duì)被調(diào)用頻率較高的業(yè)務(wù)流程中服務(wù)的響應(yīng)時(shí)間要求較高[4]。此外,業(yè)務(wù)流程中對(duì)服務(wù)的調(diào)用關(guān)系錯(cuò)綜復(fù)雜,存在一個(gè)服務(wù)被多個(gè)業(yè)務(wù)流程調(diào)用的現(xiàn)象,當(dāng)多個(gè)業(yè)務(wù)流程同時(shí)運(yùn)行時(shí),就會(huì)出現(xiàn)并發(fā)訪問的現(xiàn)象,為滿足系統(tǒng)的實(shí)時(shí)性,對(duì)此類服務(wù)響應(yīng)時(shí)間要求很高[5]。面向服務(wù)的信息系統(tǒng)的每個(gè)業(yè)務(wù)流程訪問頻率及業(yè)務(wù)流程結(jié)構(gòu)可以從業(yè)務(wù)剖面中獲得,面向服務(wù)的信息系統(tǒng)的業(yè)務(wù)流程調(diào)用結(jié)構(gòu)如圖1所示。
圖1 業(yè)務(wù)流程調(diào)用結(jié)構(gòu)
M:代表系統(tǒng)中的總業(yè)務(wù)數(shù)量;
N:代表每個(gè)業(yè)務(wù)所調(diào)用的總流程數(shù)量;
K:代表系統(tǒng)中的總流程數(shù)量;
L:代表訪問每個(gè)流程所對(duì)應(yīng)的業(yè)務(wù)個(gè)數(shù);
i:代表若干個(gè)業(yè)務(wù)之一,1≤i≤M;
j:代表每個(gè)業(yè)務(wù)所需調(diào)用的流程之一,1≤j≤N;
g:代表若干個(gè)業(yè)務(wù)流程之一,1≤g≤K;
Pi:代表執(zhí)行業(yè)務(wù)i的概率;
Qij:代表業(yè)務(wù)i調(diào)用所有可能調(diào)用的流程中第j個(gè)流程的概率;
R(nm):代表第m個(gè)業(yè)務(wù)調(diào)用流程n的概率,1≤m≤L,1≤n≤K。
因此,在系統(tǒng)接到使命任務(wù)后,執(zhí)行流程g的概率Rg可表示如下:
(1)
R(nm)=Pi·Qij
(2)
其中,i的取值為所有能夠調(diào)用到流程g的業(yè)務(wù);j的取值為流程g在業(yè)務(wù)i調(diào)用的所有流程中的編號(hào)。
流程編排中服務(wù)之間的調(diào)用關(guān)系存在著順序、并行、選擇和循環(huán)四種結(jié)構(gòu),因此計(jì)算在系統(tǒng)接到使命任務(wù)后,調(diào)用某個(gè)服務(wù)的概率時(shí),必然要考慮它所處的流程調(diào)用結(jié)構(gòu)[6-7]。
(1)在順序、并行和循環(huán)調(diào)用結(jié)構(gòu)的流程中所有服務(wù)的訪問概率均為1,服務(wù)在單個(gè)業(yè)務(wù)流程中被訪問的頻率Psev值等于Rg。
(2)選擇調(diào)用結(jié)構(gòu)的流程中服務(wù)的訪問具有被選擇的概率,因此,訪問這一業(yè)務(wù)流程中所能訪問的服務(wù)的頻率Psev等于Rg·Pselect。
并發(fā)訪問在業(yè)務(wù)流程調(diào)用中是一種常見現(xiàn)象,為完成某一任務(wù),有時(shí)會(huì)需要調(diào)用多個(gè)業(yè)務(wù)流程,多個(gè)業(yè)務(wù)流程同時(shí)執(zhí)行,一個(gè)業(yè)務(wù)流程中的服務(wù)可能同時(shí)被其他業(yè)務(wù)流程所訪問,從而產(chǎn)生并發(fā)訪問的現(xiàn)象[7]。此外,在同一業(yè)務(wù)流程中也存在同一服務(wù)被不同并行分支并發(fā)訪問的現(xiàn)象。
在面向服務(wù)的信息系統(tǒng)的軟件測(cè)試中,單個(gè)服務(wù)響應(yīng)時(shí)間的測(cè)試可直接通過端口輸入與輸出結(jié)果的響應(yīng)來衡量。響應(yīng)時(shí)間往往更關(guān)注的是一組服務(wù)的響應(yīng)時(shí)間情況[8-9]。因此,文中從組合服務(wù)的角度出發(fā)對(duì)不同組合結(jié)構(gòu)的組合服務(wù)響應(yīng)時(shí)間進(jìn)行預(yù)測(cè)分析。由于面向服務(wù)的信息系統(tǒng)是一個(gè)實(shí)時(shí)SOA系統(tǒng),服務(wù)數(shù)量有限,故調(diào)度本身占用時(shí)間可忽略不計(jì)[9]。
(1)順序結(jié)構(gòu)組合服務(wù)響應(yīng)時(shí)間Tsev等于各個(gè)服務(wù)的執(zhí)行時(shí)間之和。
(2)并行結(jié)構(gòu)組合服務(wù)響應(yīng)時(shí)間Tsev等于并行分支中各個(gè)服務(wù)響應(yīng)時(shí)間之和最大的時(shí)間值。
(3)選擇結(jié)構(gòu)組合服務(wù)響應(yīng)時(shí)間Tsev等于被選擇的分支中服務(wù)執(zhí)行時(shí)間最大值。
(4)循環(huán)結(jié)構(gòu)組合服務(wù)響應(yīng)時(shí)間Tsev等于服務(wù)執(zhí)行時(shí)間與循環(huán)次數(shù)之積。
面向服務(wù)體系架構(gòu)下,服務(wù)實(shí)體被調(diào)用的不確定性常常會(huì)導(dǎo)致服務(wù)的響應(yīng)時(shí)間出現(xiàn)不易復(fù)現(xiàn)的波動(dòng)特性[10]。訪問頻率較高的“熱點(diǎn)”服務(wù)主要存在于兩種業(yè)務(wù)活動(dòng)場(chǎng)景中,一種是僅被一個(gè)業(yè)務(wù)流程調(diào)用,因該業(yè)務(wù)流程在所有業(yè)務(wù)流程中被訪問頻率較高,導(dǎo)致該服務(wù)被列入“熱點(diǎn)”服務(wù)之中,辨別此類服務(wù)的依據(jù)是通過該業(yè)務(wù)流程中所涉及的所有服務(wù)是否均在“熱點(diǎn)”服務(wù)行列來判定。另一種是被多個(gè)業(yè)務(wù)流程調(diào)用,因多個(gè)業(yè)務(wù)流程中都需要執(zhí)行此服務(wù),導(dǎo)致該服務(wù)被列入“熱點(diǎn)”服務(wù)之中[11-12]。因此,針對(duì)“熱點(diǎn)”服務(wù)可能引起訪問時(shí)間波動(dòng)的場(chǎng)景設(shè)計(jì)主要從以下兩個(gè)方面進(jìn)行。
(1)基于增加壓力的服務(wù)實(shí)體訪問場(chǎng)景構(gòu)建。
基于增加壓力的服務(wù)實(shí)體訪問場(chǎng)景是針對(duì)因業(yè)務(wù)流程在所有業(yè)務(wù)流程中被訪問頻率較高,導(dǎo)致業(yè)務(wù)流程中被訪問的服務(wù)被列入“熱點(diǎn)”服務(wù)之中而構(gòu)建的測(cè)試場(chǎng)景。找出業(yè)務(wù)流程中所有服務(wù)均被列入“熱點(diǎn)”服務(wù)的分支,開啟該業(yè)務(wù)流程,通過設(shè)置啟動(dòng)延遲、觸發(fā)次數(shù)和觸發(fā)間隔不斷增加用戶訪問壓力的方法,測(cè)試業(yè)務(wù)流程與服務(wù)響應(yīng)時(shí)間的最大值、最小值以及平均值。
(2)基于多業(yè)務(wù)流程并發(fā)執(zhí)行的服務(wù)實(shí)體訪問場(chǎng)景是針對(duì)因多個(gè)業(yè)務(wù)流程中都需要執(zhí)行此服務(wù),導(dǎo)致該服務(wù)被列入“熱點(diǎn)”服務(wù)之中而構(gòu)建的測(cè)試場(chǎng)景。找出存在多業(yè)務(wù)流程訪問的“熱點(diǎn)”服務(wù),開啟所有訪問業(yè)務(wù)流程,測(cè)試業(yè)務(wù)流程與服務(wù)響應(yīng)時(shí)間的最大值、最小值以及平均值。若不存在時(shí)間波動(dòng)性,則繼續(xù)增加各個(gè)業(yè)務(wù)流程的訪問壓力,測(cè)試出現(xiàn)服務(wù)實(shí)體訪問時(shí)間波動(dòng)的可能性?;诙鄻I(yè)務(wù)流程并發(fā)執(zhí)行的服務(wù)實(shí)體訪問場(chǎng)景設(shè)計(jì)如圖2所示。
圖2 基于多業(yè)務(wù)流程并發(fā)執(zhí)行的服務(wù)
服務(wù)執(zhí)行的響應(yīng)時(shí)間受服務(wù)本身以及服務(wù)所處環(huán)境的影響,服務(wù)環(huán)境主要包括提供服務(wù)的服務(wù)器主機(jī)以及服務(wù)器所在的網(wǎng)絡(luò)兩個(gè)方面,包括服務(wù)器硬件配置、操作系統(tǒng)、網(wǎng)絡(luò)資源環(huán)境配置等。在該研究中,僅從服務(wù)本身來剖析時(shí)間波動(dòng)的復(fù)雜性。
面向服務(wù)的信息系統(tǒng)服務(wù)實(shí)體訪問場(chǎng)景設(shè)計(jì)為服務(wù)實(shí)體訪問的時(shí)間波動(dòng)性分析提供了測(cè)試手段,依據(jù)不同的訪問場(chǎng)景執(zhí)行測(cè)試用例后,可得到相應(yīng)業(yè)務(wù)流程響應(yīng)時(shí)間。對(duì)于訪問場(chǎng)景中業(yè)務(wù)流程的響應(yīng)時(shí)間值可以有兩方面的參照標(biāo)準(zhǔn),一方面是性能指標(biāo)要求值,另一方面是根據(jù)業(yè)務(wù)流程的結(jié)構(gòu)推算出的響應(yīng)時(shí)間預(yù)測(cè)值,通過測(cè)試所得響應(yīng)時(shí)間值、指標(biāo)要求值和預(yù)測(cè)響應(yīng)時(shí)間值可生成各業(yè)務(wù)流程的響應(yīng)時(shí)間圖形,為測(cè)試人員提供數(shù)據(jù)分析依據(jù)。測(cè)試人員通過對(duì)圖形的分析比對(duì),找出存在時(shí)間波動(dòng)的業(yè)務(wù)流程。
在面向服務(wù)的信息系統(tǒng)業(yè)務(wù)流程場(chǎng)景中,融合很多業(yè)務(wù)流程與服務(wù)組合,可根據(jù)業(yè)務(wù)場(chǎng)景的設(shè)計(jì)有針對(duì)性地畫出相應(yīng)的業(yè)務(wù)流程,隨著操作的不同,數(shù)據(jù)值也會(huì)隨之改變,可通過腳本錄制及回放技術(shù)進(jìn)行不同業(yè)務(wù)流程、服務(wù)組合的清晰顯示和應(yīng)用分析。當(dāng)測(cè)得的響應(yīng)時(shí)間不滿足性能指標(biāo)要求時(shí),首先需要對(duì)性能指標(biāo)要求值的合理性進(jìn)行分析,即通過性能指標(biāo)要求值和響應(yīng)時(shí)間預(yù)測(cè)值的對(duì)比,找出存在不合理性的指標(biāo)要求。
性能指標(biāo)要求合理且時(shí)間波動(dòng)性較大的業(yè)務(wù)流程,需要通過插樁的手段測(cè)出業(yè)務(wù)流程中各服務(wù)的響應(yīng)時(shí)間,形成單個(gè)服務(wù)響應(yīng)時(shí)間對(duì)比圖,從對(duì)比圖中可以找出影響業(yè)務(wù)流程響應(yīng)時(shí)間的服務(wù),對(duì)時(shí)間波動(dòng)性較大的服務(wù)進(jìn)行分析和度量,驗(yàn)證“熱點(diǎn)”服務(wù)引起服務(wù)實(shí)體訪問時(shí)間波動(dòng)的可能性。
服務(wù)實(shí)體訪問場(chǎng)景構(gòu)建是為了找出引起服務(wù)訪問時(shí)間波動(dòng)的因素而構(gòu)建的業(yè)務(wù)訪問場(chǎng)景,這些業(yè)務(wù)場(chǎng)景的執(zhí)行需建立在單個(gè)服務(wù)響應(yīng)時(shí)間和每個(gè)業(yè)務(wù)流程響應(yīng)時(shí)間均符合性能指標(biāo)要求的基礎(chǔ)之上。因此,在進(jìn)行面向服務(wù)的信息系統(tǒng)服務(wù)實(shí)時(shí)性測(cè)試時(shí),首先,要針對(duì)單個(gè)服務(wù)的響應(yīng)時(shí)間設(shè)計(jì)測(cè)試用例,測(cè)得單個(gè)服務(wù)的響應(yīng)時(shí)間,將之與指標(biāo)要求進(jìn)行比較分析,確保單個(gè)服務(wù)的響應(yīng)時(shí)間滿足指標(biāo)要求。其次,針對(duì)每個(gè)業(yè)務(wù)流程設(shè)計(jì)相應(yīng)的測(cè)試用例,通過執(zhí)行相應(yīng)的測(cè)試用例測(cè)得單個(gè)業(yè)務(wù)流程的響應(yīng)時(shí)間,業(yè)務(wù)流程的響應(yīng)時(shí)間可依據(jù)其結(jié)構(gòu)進(jìn)行預(yù)測(cè),最終通過測(cè)試值、指標(biāo)值、預(yù)測(cè)值三者的比較進(jìn)行判定,當(dāng)測(cè)試值與指標(biāo)要求值不相符時(shí),可參考預(yù)測(cè)值對(duì)指標(biāo)進(jìn)行評(píng)價(jià),驗(yàn)證指標(biāo)要求的合理性,在確保指標(biāo)要求合理的情況下,業(yè)務(wù)流程響應(yīng)時(shí)間的測(cè)試值要滿足指標(biāo)要求。最后,根據(jù)針對(duì)服務(wù)實(shí)體訪問設(shè)計(jì)的測(cè)試場(chǎng)景進(jìn)行“熱點(diǎn)”服務(wù)的壓力與負(fù)載測(cè)試,分析響應(yīng)時(shí)間對(duì)比圖,查看是否存在時(shí)間波動(dòng)的現(xiàn)象,分析引起時(shí)間波動(dòng)的原因,驗(yàn)證因“熱點(diǎn)”服務(wù)引起服務(wù)實(shí)體訪問產(chǎn)生時(shí)間波動(dòng)的可能性,為開發(fā)方指出會(huì)引起時(shí)間波動(dòng)的服務(wù)實(shí)體。
在實(shí)際應(yīng)用中,選用某艦艦船火控系統(tǒng)作為應(yīng)用對(duì)象,某艦艦船火控系統(tǒng)是一種基于面向服務(wù)思想而設(shè)計(jì)的艦船火力控制系統(tǒng)軟件,主要由戰(zhàn)斗、訓(xùn)練、檢查三種工作模式組成。戰(zhàn)斗任務(wù)主要通過報(bào)文解析服務(wù)、通道組織服務(wù)、指揮決策服務(wù)、目標(biāo)處理服務(wù)、射擊服務(wù)、火控解算服務(wù)來完成;訓(xùn)練任務(wù)主要由武器系統(tǒng)訓(xùn)練服務(wù)、作戰(zhàn)系統(tǒng)訓(xùn)練服務(wù)、射擊服務(wù)、火控解算服務(wù)來完成;檢查任務(wù)主要由設(shè)備題檢服務(wù)、系統(tǒng)題檢服務(wù)、零飛檢查服務(wù)、火控解算服務(wù)來完成。面向服務(wù)的艦船火控系統(tǒng)的服務(wù)實(shí)體訪問剖面如圖3所示。
圖3 某艦艦船火控系統(tǒng)服務(wù)實(shí)體訪問剖面
利用SOATest工具對(duì)報(bào)文解析、通道組織、指揮決策、目標(biāo)處理、武器系統(tǒng)訓(xùn)練、作戰(zhàn)系統(tǒng)訓(xùn)練、設(shè)備題檢、系統(tǒng)題檢、零飛檢查、射擊服務(wù)的響應(yīng)時(shí)間進(jìn)行測(cè)試,并與指標(biāo)進(jìn)行對(duì)比分析,某艦艦船火控系統(tǒng)要求火控解算服務(wù)的響應(yīng)時(shí)間不大于10 ms,其他服務(wù)的響應(yīng)時(shí)間不大于2 ms;在測(cè)試中,對(duì)每個(gè)服務(wù)進(jìn)行10組輸入、輸出數(shù)據(jù)測(cè)試,利用SOATest工具設(shè)置啟動(dòng)延遲為50 ms、觸發(fā)時(shí)長(zhǎng)500 ms、觸發(fā)間隔50 ms,對(duì)應(yīng)的測(cè)試結(jié)果分析如圖4所示。
(a)報(bào)文解析服務(wù)響應(yīng)時(shí)間
(b)通道組織服務(wù)響應(yīng)時(shí)間
(c)目指處理服務(wù)響應(yīng)時(shí)間
(d)指揮決策服務(wù)響應(yīng)時(shí)間
(e)武器系統(tǒng)訓(xùn)練服務(wù)響應(yīng)時(shí)間
(f)作戰(zhàn)系統(tǒng)訓(xùn)練服務(wù)響應(yīng)時(shí)間
(g)設(shè)備題檢查服務(wù)響應(yīng)時(shí)間
(h)系統(tǒng)題檢查服務(wù)響應(yīng)時(shí)間
(i)零飛檢查服務(wù)響應(yīng)時(shí)間
(j)射擊服務(wù)響應(yīng)時(shí)間
(k)火控解算服務(wù)響應(yīng)時(shí)間
其次,對(duì)戰(zhàn)斗任務(wù)、訓(xùn)練任務(wù)、檢查任務(wù)中的每個(gè)業(yè)務(wù)流程的響應(yīng)時(shí)間進(jìn)行測(cè)試;因每個(gè)業(yè)務(wù)流程的服務(wù)時(shí)間都是順序關(guān)系,利用順序結(jié)構(gòu)組合服務(wù)響應(yīng)時(shí)間公式計(jì)算可得每個(gè)業(yè)務(wù)流程的響應(yīng)時(shí)間應(yīng)不大于服務(wù)個(gè)數(shù)與單個(gè)服務(wù)響應(yīng)時(shí)間指標(biāo)要求值之積;業(yè)務(wù)流程1~7的響應(yīng)時(shí)間預(yù)測(cè)值分別為18 ms、18 ms、14 ms、14 ms、12 ms、12 ms、12 ms,指標(biāo)要求值均為20 ms,指標(biāo)要求值大于預(yù)測(cè)值,從而推斷指標(biāo)要求是合理的;在測(cè)試中,針對(duì)每個(gè)業(yè)務(wù)流程分別進(jìn)行10次調(diào)用測(cè)試,利用SOATest工具設(shè)置啟動(dòng)延遲為50 ms、觸發(fā)時(shí)長(zhǎng)500 ms、觸發(fā)間隔50 ms,對(duì)應(yīng)的測(cè)試結(jié)果分析如圖5所示。
(a)業(yè)務(wù)流程1響應(yīng)時(shí)間
(b)業(yè)務(wù)流程2響應(yīng)時(shí)間
(c)業(yè)務(wù)流程3響應(yīng)時(shí)間
(d)業(yè)務(wù)流程4響應(yīng)時(shí)間
(e)業(yè)務(wù)流程5響應(yīng)時(shí)間
(f)業(yè)務(wù)流程6響應(yīng)時(shí)間
(g)業(yè)務(wù)流程7響應(yīng)時(shí)間
再次,根據(jù)某艦艦船火控系統(tǒng)業(yè)務(wù)流程應(yīng)用頻率及剖面結(jié)構(gòu)分析確定利用基于多業(yè)務(wù)流程并發(fā)執(zhí)行的服務(wù)實(shí)體訪問場(chǎng)景對(duì)火控解算服務(wù)進(jìn)行場(chǎng)景測(cè)試,其服務(wù)實(shí)體訪問場(chǎng)景如圖6所示。
根據(jù)上述場(chǎng)景執(zhí)行,開啟業(yè)務(wù)流程1~7,并同時(shí)增加放大倍數(shù)為5倍,啟動(dòng)延遲為50 ms、觸發(fā)時(shí)長(zhǎng)500 ms、觸發(fā)間隔50 ms,查看每個(gè)業(yè)務(wù)流程的響應(yīng)情況。測(cè)試結(jié)果中,發(fā)現(xiàn)業(yè)務(wù)流程2存在時(shí)間波動(dòng)現(xiàn)象,利用插樁技術(shù)獲得業(yè)務(wù)流程2中各個(gè)服務(wù)的響應(yīng)時(shí)間可以看出,服務(wù)4的服務(wù)響應(yīng)時(shí)間最長(zhǎng),業(yè)務(wù)流程2中的第四個(gè)服務(wù)為火控解算服務(wù),由此可得出火控解算這一熱點(diǎn)服務(wù)會(huì)在多用戶并發(fā)訪問的情況下引起業(yè)務(wù)流程執(zhí)行緩慢導(dǎo)致的時(shí)間波動(dòng)現(xiàn)象。
文中研究適用于基于SOA的服務(wù)實(shí)時(shí)性測(cè)試,服務(wù)實(shí)體訪問場(chǎng)景的構(gòu)建是基于服務(wù)訪問頻率計(jì)算、組合服務(wù)響應(yīng)時(shí)間預(yù)測(cè)推算。
通過組合服務(wù)響應(yīng)時(shí)間的計(jì)算模型可以得出具體業(yè)務(wù)流程響應(yīng)時(shí)間的預(yù)測(cè)值,該值不僅為服務(wù)實(shí)體訪問的時(shí)間波動(dòng)分析提供了依據(jù),同時(shí)也為業(yè)務(wù)流程響應(yīng)時(shí)間的指標(biāo)要求提供了評(píng)判標(biāo)準(zhǔn)。通過服務(wù)實(shí)體訪問場(chǎng)景的構(gòu)建與時(shí)間波動(dòng)分析的研究,提高了服務(wù)性能測(cè)試的效率,實(shí)現(xiàn)了對(duì)服務(wù)模型結(jié)構(gòu)的綜合評(píng)估,指出服務(wù)模型構(gòu)建存在的不足、指標(biāo)要求的不合理之處,為后續(xù)的開發(fā)工作提供參考。
圖6 某艦艦船火控系統(tǒng)性能測(cè)試服務(wù)實(shí)體訪問場(chǎng)景圖