唐利
摘要:分布式系統(tǒng)的多數(shù)端口分布在不同的物理位置,因此在對(duì)其進(jìn)行測(cè)試的過(guò)程中,必須要保障每一個(gè)端口都要有一個(gè)測(cè)試者,每一個(gè)測(cè)試者可以觀察自己端口的事件,進(jìn)而加強(qiáng)控制,對(duì)此文章主要對(duì)分布式系統(tǒng)測(cè)試方式及應(yīng)用實(shí)踐進(jìn)行簡(jiǎn)單的分析。
關(guān)鍵詞:分布式系統(tǒng);測(cè)試方法;應(yīng)用實(shí)踐
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)07-0073-02
Abstract: distributed systems most of the physical location of port distribution is not the same, this process in the test, we must protect each port must have a test, each test can observe their own port events, thereby strengthening control, this article mainly explores the simple analysis the testing methods of distributed system and application.
Key words: distributed system; test method; application practice
分布式系統(tǒng)在各個(gè)網(wǎng)絡(luò)計(jì)算機(jī)之上進(jìn)行分布,利用信息傳遞的方式進(jìn)行通信以及動(dòng)作的協(xié)調(diào),進(jìn)而完成相關(guān)任務(wù)系統(tǒng)的要求。分布式系統(tǒng)有著并發(fā)性、缺乏全局時(shí)鐘以及故障獨(dú)立性的特征,故而導(dǎo)致了分布式系統(tǒng)在測(cè)試過(guò)程中存在一定的困難。本文就分布式系統(tǒng)測(cè)試方法以及應(yīng)用實(shí)踐進(jìn)行了簡(jiǎn)單的探究分析。
1 分布式系統(tǒng)特征
1.1異構(gòu)性
第一、網(wǎng)絡(luò)異構(gòu):分布式系統(tǒng)主要在網(wǎng)絡(luò)環(huán)境中產(chǎn)生及生存的,在網(wǎng)絡(luò)環(huán)境中其種類相對(duì)較多,有著不同的運(yùn)行協(xié)議。
第二、計(jì)算機(jī)硬件異構(gòu):不同模式的硬件類型的計(jì)算機(jī)共同構(gòu)建了分布式系統(tǒng),也就是說(shuō),計(jì)算機(jī)硬件的構(gòu)建導(dǎo)致了分布式系統(tǒng)的數(shù)據(jù)表示方式手段具有一定的差異性。
第三、操作系統(tǒng)異構(gòu):可以通過(guò)windows, unix, linux等系統(tǒng)進(jìn)行運(yùn)行。
第四、編程語(yǔ)言和開(kāi)發(fā)者不同。
1.2開(kāi)放性
軟件系統(tǒng)自身的開(kāi)放性特征直接影響了整個(gè)系統(tǒng)是否可以通過(guò)不同的方式拓展以及重現(xiàn)系統(tǒng)的開(kāi)放性[1]。
1.3并發(fā)性
不同的、多重事務(wù)的同時(shí)發(fā)生,在沒(méi)有有效的協(xié)調(diào)以及控制機(jī)制中進(jìn)行操作,其并發(fā)性就會(huì)不受限制。在分布式系統(tǒng)中,必須要處理好并發(fā)性,這樣才可以提升其整體質(zhì)量。
1.4缺乏全局時(shí)鐘
在系統(tǒng)協(xié)作的時(shí)候,主要通過(guò)消息協(xié)調(diào)動(dòng)作,如果協(xié)調(diào)依賴于動(dòng)作發(fā)生時(shí)間的共識(shí),那么不同設(shè)備的時(shí)鐘有所差異,同步相對(duì)較為困難。
2 分布式系統(tǒng)測(cè)試方法
2.1協(xié)同測(cè)試序列生成方法
文章所說(shuō)的分布式系統(tǒng)測(cè)試方式,必須要基于了解全局測(cè)試序列基礎(chǔ)之上開(kāi)展的。要想有效的解決控制性以及觀察性的問(wèn)題,在實(shí)踐中需要基于通道優(yōu)化算法生產(chǎn)需要發(fā)送的系統(tǒng)控制消息的通道集合開(kāi)展,基于協(xié)同消息的實(shí)際添加規(guī)則進(jìn)行消息的增加,然后通過(guò)具備測(cè)試序列算法生產(chǎn)優(yōu)化的方式進(jìn)行局部的測(cè)試序列。
協(xié)同測(cè)試序列生產(chǎn)方式主要是基于協(xié)同分布式測(cè)試架構(gòu)生產(chǎn)的,此系統(tǒng)分布測(cè)試架構(gòu)與集中測(cè)試架構(gòu)的不同就是集中模式測(cè)試架構(gòu)在實(shí)踐中只有一個(gè)測(cè)試者,主要就是在一些小型的分布模式系統(tǒng)中測(cè)試,而協(xié)同分布模式的測(cè)試架構(gòu)在實(shí)踐中的測(cè)試者沒(méi)有限制,不同的測(cè)試者均可以利用對(duì)應(yīng)的端口進(jìn)行交互處理,也可以利用通道與其他相關(guān)測(cè)試者溝通聯(lián)系[2]。
若想解決分布式系統(tǒng)測(cè)試中存在的控制性問(wèn)題以及觀察問(wèn)題,其常規(guī)的解決方式就是應(yīng)用協(xié)調(diào)消息、控制協(xié)同消息以及觀察協(xié)同消息的方式同步開(kāi)展,進(jìn)而基于既定的測(cè)試序列開(kāi)展測(cè)試。在實(shí)踐中不同的測(cè)試者之間發(fā)送的消息必須要通過(guò)外部通道實(shí)現(xiàn),構(gòu)建以及維持通道勢(shì)必會(huì)增加整個(gè)測(cè)試系統(tǒng)的成本,也會(huì)導(dǎo)致系統(tǒng)的延遲問(wèn)題。對(duì)此在實(shí)踐中要盡量地減少測(cè)試者的通道數(shù)量。
2.2分布式系統(tǒng)測(cè)試模型
分布式測(cè)試架構(gòu)的測(cè)試系統(tǒng)是通過(guò)不同的測(cè)試者溝通,對(duì)此在進(jìn)行系統(tǒng)測(cè)試過(guò)程中,必須要對(duì)IUT(ImPlementantaionUnderTes被測(cè)系統(tǒng))的形式化描述,通過(guò)多個(gè)端口狀態(tài)的有限狀態(tài)機(jī)對(duì)其進(jìn)行描述。在被測(cè)試的系統(tǒng)中,就可以基于多端口的有限狀態(tài)機(jī)構(gòu)建模型。在實(shí)踐中可以將被測(cè)系統(tǒng)中的相關(guān)組件看做有限狀態(tài)機(jī)的端口,基于系統(tǒng)模型構(gòu)建全局測(cè)試的序列,其全局測(cè)試序列通過(guò)本地的測(cè)試序列就可以生產(chǎn)算法,并且將全局的測(cè)試序列在IUT的不同端口之上進(jìn)行映射。如果其測(cè)試者可以觀察到既定的輸入以及輸出序列,那么就意味著其與IUT的規(guī)范要求內(nèi)容一致,否則就將其認(rèn)為IUT在實(shí)踐中存在著一定的錯(cuò)誤與不足。測(cè)試機(jī)在實(shí)踐中基于特定的算法執(zhí)行本地的測(cè)試序列則可以完成整個(gè)分布式系統(tǒng)的測(cè)試。
2.3 控制性問(wèn)題的解決方式
控制性問(wèn)題就是在整個(gè)分布式的測(cè)試過(guò)程中,其中一個(gè)測(cè)試者沒(méi)有將上一個(gè)輸入進(jìn)行發(fā)送或者并沒(méi)有收到上一個(gè)輸入的IUT輸出,這名測(cè)試者在實(shí)踐中不知道在什么時(shí)間向IUT發(fā)送下一個(gè)信息的輸入,在這個(gè)時(shí)候就會(huì)出現(xiàn)一些控制性的問(wèn)題。在多數(shù)狀況之下還是會(huì)出現(xiàn)一些控制性的問(wèn)題與不足。
在IUT的端口相對(duì)較多的時(shí)候,如果基于滿足條件的測(cè)試者中進(jìn)行隨意選擇,就會(huì)耗費(fèi)系統(tǒng)中的通信資源以及配置資源,就會(huì)增強(qiáng)系統(tǒng)測(cè)試的成本。對(duì)此在實(shí)踐中可以通過(guò)貪心算法開(kāi)展操作,計(jì)算出在出現(xiàn)控制性問(wèn)題時(shí)候的端口鏈接中最多的端口對(duì)數(shù)量,然后將此端口作為候選,進(jìn)而可以把整個(gè)測(cè)試系統(tǒng)中構(gòu)建的通道數(shù)降低到最少,真正的有效避免通信以及部署資源的過(guò)度浪費(fèi)問(wèn)題的出現(xiàn)。
貪心算法的輸出結(jié)果直接導(dǎo)致最大化端口對(duì)的信息集合,在整個(gè)集合中進(jìn)行選擇可以有效地避免各種不必要的通信以及資源部署,在整個(gè)IUT系統(tǒng)中端口數(shù)量較多的時(shí)候,此種效果更為明顯,在整個(gè)IUT端口數(shù)量相對(duì)較少的時(shí)候,則可以應(yīng)用既定的規(guī)則進(jìn)行選擇[3]。在本地測(cè)試序列的生成算法過(guò)程中,應(yīng)用此種方式融合相關(guān)要求,就可以有效的提升本地測(cè)試序列生成算法的伸縮性以及靈活性。
2.4 觀察性問(wèn)題解決方法
觀察性問(wèn)題就是在進(jìn)行分布式的測(cè)試過(guò)程中,判斷輸入以及輸出對(duì)應(yīng)關(guān)系的整體能力,在常規(guī)狀況之下與輸入與輸出移位錯(cuò)誤有著一定的關(guān)系[4]。在出現(xiàn)觀察性問(wèn)題的時(shí)候,解決觀察性問(wèn)題的方式就是在本地測(cè)試序列中加入觀測(cè)性的協(xié)同消息。
3 分布式系統(tǒng)測(cè)試方法及應(yīng)用實(shí)踐研究
3.1 電信業(yè)務(wù)運(yùn)營(yíng)支撐系統(tǒng)概述
電信業(yè)務(wù)運(yùn)營(yíng)支撐系統(tǒng)在實(shí)踐中具有軟件設(shè)計(jì)組件化、企業(yè)流程抽象化以及接口合同等相關(guān)特征,是一種基于組件為基礎(chǔ)的分布式系統(tǒng),其主要特征具體如下:
3.1.1軟件設(shè)計(jì)組件化
電信運(yùn)營(yíng)支撐系統(tǒng)在實(shí)踐中經(jīng)常應(yīng)用一種與技術(shù)沒(méi)有關(guān)系的體系結(jié)構(gòu)開(kāi)展,系統(tǒng)在實(shí)踐中不僅僅局限于特定的技術(shù)手段,此種系統(tǒng)結(jié)構(gòu)是一個(gè)完全的分布模式的系統(tǒng)結(jié)構(gòu),在分布不同的物理位置之上的各個(gè)組件共同的完成業(yè)務(wù)流程[5]。系統(tǒng)中的各個(gè)組件在工作中至少需要兩個(gè)接口,而其中一個(gè)組件就是進(jìn)行管理,另一個(gè)組件的作用就是實(shí)現(xiàn)企業(yè)的合同,而合同的內(nèi)容主要彰顯了功能性需求,保障流程控制實(shí)體在實(shí)踐中可以觸發(fā)對(duì)應(yīng)的處理流程,便于不同組件的組合,進(jìn)而實(shí)現(xiàn)全新的功能,為其他相關(guān)組件提供服務(wù)。
3.1.2企業(yè)流程抽象化
運(yùn)營(yíng)支撐主要目的就是保障企業(yè)流程的通暢性,對(duì)其進(jìn)行有效控制。而流程控制的主要目的就是讓組件個(gè)體無(wú)需具備與流程操作具有關(guān)聯(lián)的整體邏輯知識(shí)。流程的分解在實(shí)踐中可以提升組件集成的靈活性。在流程控制組件的時(shí)候,此組件必須要既有合同定義的能力提供相關(guān)服務(wù)[6]。此種企業(yè)流程的抽象性以及分解,可以在企業(yè)流程不改變組件自身的基礎(chǔ)之上改變企業(yè)流程,利用配置管理的方式實(shí)現(xiàn)工作,提升了整個(gè)組件的重用性。
3.1.3實(shí)行接口合同
電信運(yùn)營(yíng)支撐系統(tǒng)通過(guò)綜合接口合同機(jī)制,組件的每一個(gè)接口都利用合同規(guī)范要求對(duì)其進(jìn)行描述。
3.2補(bǔ)充業(yè)務(wù)處理流程操作實(shí)踐
3.2.1案例描述
在客戶要進(jìn)行新業(yè)務(wù)的補(bǔ)充過(guò)程中,要先在業(yè)務(wù)受理組件發(fā)送請(qǐng)求,在受理組件執(zhí)行之后,再觸發(fā)訂單處理組件就會(huì)生成訂單,同時(shí)利用短信的方式通知組件發(fā)送短信對(duì)其進(jìn)行通知,然后業(yè)務(wù)配置組件基于客戶訂單的需求進(jìn)行業(yè)務(wù)實(shí)例的配置,激活操作[7]。在訂單處理組件接到請(qǐng)求之后,將訂單設(shè)置為完成狀態(tài),同時(shí)受理組件的組件業(yè)務(wù)實(shí)例,然后再通過(guò)短信的方式通知客戶業(yè)務(wù)可以應(yīng)用。
其中資源配置組件、訂單處理組件、短信通知組件中的完工處理模塊隸屬于訂單處理性的組件。因?yàn)榇讼到y(tǒng)屬于分布式系統(tǒng),對(duì)此在實(shí)踐中要利用協(xié)同分布式測(cè)試加工對(duì)其進(jìn)行測(cè)試處理。
3.2.2局部測(cè)試序列生成
在協(xié)同消息的添加規(guī)則沒(méi)有優(yōu)化操作之前,如果有多個(gè)滿足發(fā)送控制消息條件的測(cè)試人員的時(shí)候,其較為優(yōu)化的算法就是隨機(jī)的進(jìn)行選擇,但是此種方式增加了協(xié)同消息的數(shù)量,對(duì)此在實(shí)踐中要構(gòu)建一個(gè)通道[8]。根據(jù)添加協(xié)同消息的規(guī)則進(jìn)行添加消息之后的測(cè)試序列映射測(cè)試,通過(guò)通道進(jìn)行協(xié)同消息的發(fā)送,可以有效地減少測(cè)試過(guò)程中的通道數(shù)量,進(jìn)而降低通道維護(hù)以及相關(guān)資金的投入。
雖然文章中探究的協(xié)同消息的添加規(guī)則減少了一些冗雜的協(xié)同消息,在整個(gè)過(guò)程中要協(xié)同的消息數(shù)量較少,因?yàn)樵陂_(kāi)始測(cè)試的時(shí)候增加了相關(guān)消息,對(duì)此發(fā)送協(xié)同消息的通道并沒(méi)有真正的減少,基于實(shí)際的測(cè)試執(zhí)行過(guò)程來(lái)說(shuō),其信息的添加可以為計(jì)算時(shí)間約束提供一定的便捷,在實(shí)踐中計(jì)算等待的具體時(shí)間以及反應(yīng)時(shí)間的時(shí)間約束公式就可以獲得其既定的反應(yīng)時(shí)間,如果在既定的反應(yīng)時(shí)間中訂單處理組件沒(méi)有收到消息,則表示整個(gè)測(cè)試系統(tǒng)失敗。
4 結(jié)束語(yǔ)
文章通過(guò)對(duì)分布式系統(tǒng)特征、分布式系統(tǒng)測(cè)試方法及應(yīng)用實(shí)踐進(jìn)行了簡(jiǎn)單的探究,通過(guò)對(duì)其測(cè)試方式的探究,提出了通
道優(yōu)化算法,在測(cè)試過(guò)程中減少通道數(shù),進(jìn)而減少測(cè)試,加強(qiáng)控制,希望可以有效地提升分布式系統(tǒng)測(cè)試方式的科學(xué)性與有效性,但是文章并沒(méi)有對(duì)觀察消息通道進(jìn)行深入的研究,希望在今后的研究中,可以綜合觀察消息的通道以及控制消息的通道因素綜合,進(jìn)而提升分布式系統(tǒng)測(cè)試方式的科學(xué)性。
參考文獻(xiàn):
[1] 謝志海.分布式系統(tǒng)測(cè)試關(guān)鍵技術(shù)研究[D]. 西安:西安電子科技大學(xué),2013:5-6.
[2] 李艷麗,王曉軍.分布式系統(tǒng)測(cè)試方法的研究和應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(3):205-208,212.
[3] 李艷麗.分布式系統(tǒng)測(cè)試方法研究及應(yīng)用[D]. 南京:南京郵電大學(xué),2011:18-19.
[4] 戴義保.兩級(jí)分布式微機(jī)系統(tǒng)測(cè)試1000管位晶體管參數(shù)的新方法[J].電氣自動(dòng)化,1994,16(3):123-126,129.
[5] 羅家融,季振山,熊斌.網(wǎng)絡(luò)通訊技術(shù)在分布式控制系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息,2016(5):12-14.
[6] 張琛,段振華,田聰,等.分布式軟件系統(tǒng)交互行為建模、驗(yàn)證與測(cè)試[J].計(jì)算機(jī)研究與發(fā)展,2015,52(7):1604-1619.
[7] 趙劍,歐陽(yáng)丹彤,王曉宇,等.混成系統(tǒng)的分布式診斷方法[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,2012,42(6):1498-1504.
[8] 李兢,陳穎,沈沉.分布式仿真魯棒性改進(jìn)方法[J].電力系統(tǒng)自動(dòng)化,2010,34(24):11-17.