欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式計算機系統(tǒng)的測試方法與裝置的制作方法

文檔序號:100985閱讀:382來源:國知局
專利名稱:分布式計算機系統(tǒng)的測試方法與裝置的制作方法
本發(fā)明是關(guān)于計算機系統(tǒng)的測試方法和裝置,特別是不用中止系統(tǒng)運行就能測試一個分布式計算機系統(tǒng)的方法與裝置。
近些年,許多計算機系統(tǒng)是分布式的,這是考慮到功能的分布并防止負載集中,從而減少了處理和通訊的消耗。分布式系統(tǒng)在增加可靠性和可擴展性方面具有優(yōu)點,但是也產(chǎn)生了如何維護一個空間上分布在各處系統(tǒng)的問題。特別地,對于維護工作人員來說,測試構(gòu)成總體的每個子系統(tǒng)是否正常工作是必要的。
通常的分布式系統(tǒng)是不能在系統(tǒng)運行期間測試每個處理器的應(yīng)用程序的。在這種情況下,通過軟件或硬件把需測試的設(shè)備與運行著的系統(tǒng)分開,或者通過附加一個與系統(tǒng)相連的面向測試的處理器,存儲器和I/O部件來進行測試??傊?,在與通常系統(tǒng)運行相同的硬件配置和運行條件下,是不能測試其系統(tǒng)的。在后一種情況下,需要增加硬件設(shè)備。然而,實際上迫切需要在不中斷運行的情況下測試一個系統(tǒng)。
在一個分布式處理系統(tǒng)中,經(jīng)一根公共傳輸線聯(lián)在一起的各個處理器對一個作業(yè)實現(xiàn)一系列的分布式處理。在該分布式處理系統(tǒng)中,現(xiàn)已提出了一種系統(tǒng)控制方法,這種方法是在每個分布式處理器中儲存以執(zhí)行一系列處理中規(guī)定部分的程序,從傳輸線上取得程序執(zhí)行所需的數(shù)據(jù)。一旦全部數(shù)據(jù)準(zhǔn)備好,而開始程序的執(zhí)行,如日本專利非實審公開號57-146361;稱為“數(shù)據(jù)流型分布式處理系統(tǒng)”所披露的,就是一例。這種方法不需要用控制處理器來控制整個系統(tǒng)并能分布式地執(zhí)行一系列的處理。然而,它并沒有提供一種在聯(lián)機運行期間測試-運行儲存在每個分布式處理器中程序的方法,對于系統(tǒng)診斷和維護效率還有待進一步改進。
某些一般的計算機系統(tǒng)包含有收集程序執(zhí)行所產(chǎn)生數(shù)據(jù)的裝置,然而,這僅僅是在時間序列的基礎(chǔ)上記錄的數(shù)據(jù)而且不能充分滿足用收集到的結(jié)果數(shù)據(jù)分析測試運行的結(jié)果。
本發(fā)明旨在克服通常分布式處理系統(tǒng)如前所述的不足,本發(fā)明的主要目標(biāo)是要提供一種分布式處理系統(tǒng),該系統(tǒng)在分散的處理器中執(zhí)行一系列處理而不需要控制處理器來控制整個系統(tǒng),該系統(tǒng)每個處理器中裝入了一個新開發(fā)的程序,這個程序是用數(shù)據(jù)進行測試-運行的,因此,允許系統(tǒng)在聯(lián)機的環(huán)境下進行程序測試。
為實現(xiàn)上述目標(biāo),為了測試一個分布式處理系統(tǒng),該系統(tǒng)包含許多經(jīng)網(wǎng)絡(luò)聯(lián)在一起的處理器,該處理器具有一個存儲器,以儲存為每個處理器提供需要測試的程序,本發(fā)明方法包括以下步驟當(dāng)至少一個處理器作為測試器運行儲存的程序時,生成測試信息的步驟;以及由所述處理器中任一個處理器實現(xiàn),由處理器本身或從其它處理器接收測試信息并根據(jù)測試信息決定程序是否測試-運行的步驟。
附圖簡要說明圖1是分布式處理系統(tǒng)的一般框圖,表示本發(fā)明的第一實施例;
圖2是說明圖1系統(tǒng)中要測試系統(tǒng)的配置圖;
圖3是說明圖2系統(tǒng)發(fā)出的報文格式示意圖;
圖4是根據(jù)本發(fā)明進行測試的示意圖;
圖5是說明圖4處理過程中所用的測試說明表;
圖6和圖7是根據(jù)本發(fā)明進行處理的示意圖;
圖8是分布式處理系統(tǒng)的框圖,說明本發(fā)明的第二實施例;
圖9是圖8中系統(tǒng)所用報文格式的示意圖;
圖10是圖8所示處理器的配置框圖;
圖11是圖10中所示處理器所用的測試數(shù)據(jù)的格式示意圖;
圖12和圖13是用于解釋測試-運行操作的示意圖;
圖14和圖15是處理器中測試部件處理過程示意圖;
圖16是應(yīng)用程序中處理過程的一組示意圖,圖17是分布處理系統(tǒng)中,一個處理器的框圖,說明本發(fā)明第三實施例;
圖18用于解釋由圖17處理器所做的測試-運行操作的示意圖;
圖19和圖20是說明圖17處理器內(nèi),測試部件的處理過程示意圖;
圖21是分布式系統(tǒng)的框圖,說明本發(fā)明第四實施例;
圖22是在系統(tǒng)中傳送報文的格式示意圖;
圖23和圖24是圖21所示處理器的內(nèi)部配置圖;
圖25、圖26和圖27是表示圖23處理器執(zhí)行的處理過程流程圖;
圖28和圖29是解釋測試數(shù)據(jù)收集處理過程示意圖;
圖30是解釋由測試部件實現(xiàn)自動程序測試-運行的處理過程流程圖。
現(xiàn)在將參照附圖詳細介紹本發(fā)明的實施例。
實施例1圖1說明分布式處理系統(tǒng)的整體配置,這是本發(fā)明介紹的第一實施例。圖中所示的是由1到n個子系統(tǒng)(分布式處理器)組成的一個系統(tǒng),I/O設(shè)備10,20,30,…,n0,其中n0是顯示部件,以及一個可以是公共通訊網(wǎng)或?qū)S猛ㄓ嵕W(wǎng)的網(wǎng)絡(luò)100。子系統(tǒng)從1到n經(jīng)網(wǎng)絡(luò)100聯(lián)在一起,以及I/O設(shè)備10,20,…,n0分別聯(lián)到子系統(tǒng)1,2,…n。子系統(tǒng)1,2,3等等是測試目標(biāo),和子系統(tǒng)n相聯(lián)的顯示部件用于顯示測試結(jié)果。
圖1中,被測試的處理器互相聯(lián)接,每個處理器都具有辨別與區(qū)分測試數(shù)據(jù)的能力。如果輸入數(shù)據(jù)識別為要測試的數(shù)據(jù),那么,僅只運行與測試數(shù)據(jù)有關(guān)的處理模塊,處理結(jié)果作為測試結(jié)果輸出到顯示終端上顯示并且同時傳遞給傳輸系統(tǒng)。也可以用一種表現(xiàn)為把測試結(jié)果輸出附加在處理結(jié)果之后的報文,將測試結(jié)果在系統(tǒng)中散播,而不是把測試結(jié)果直接傳遞給輸出終端。可以在系統(tǒng)運行的任何刻開始測試,如果測試不停止的話,任一輸入/輸出設(shè)備的操作均會受到限制。本實施例允許在不用識別出要測試子系統(tǒng)的位置和其狀態(tài)的條件下進行測試。
本發(fā)明的特點在于(a)許多聯(lián)機數(shù)據(jù)和測試數(shù)據(jù)共存于網(wǎng)絡(luò)的數(shù)據(jù)流中,及(b)允許聯(lián)機運行程序和要測試的程序不僅共存于聯(lián)機系統(tǒng)中而且也共存于聯(lián)機運行期間的各個處理器中。這就使正在研制中的程序能夠裝入處理器并在聯(lián)機運行期間進行測試。本發(fā)明的測試方法有三種情況(ⅰ)測試信息附加在數(shù)據(jù)后,(ⅱ)程序中包含測試數(shù)據(jù),及(ⅲ)由處理器所保持的測試信息。下面所述的實施例是第一種情況(ⅰ)。
圖2說明圖1中要測試子系統(tǒng)的內(nèi)部配置。配置包括與網(wǎng)絡(luò)100相聯(lián)的接口11,與輸入/輸出設(shè)備10相聯(lián)的接口12,處理器13實現(xiàn)子系統(tǒng)的處理,接收緩沖器14,發(fā)送緩沖器15,一個內(nèi)容碼表16,一個測試標(biāo)志表17,一個分為輸入緩沖器和處理結(jié)果緩沖器的應(yīng)用數(shù)據(jù)緩沖器18和一個應(yīng)用程序存儲器19。
子系統(tǒng)1到n中的每一個子系統(tǒng)都有特殊的功能,這些特殊功能是儲存在應(yīng)用程序存儲器19中的應(yīng)用程序來實現(xiàn)的。當(dāng)交換數(shù)據(jù)和經(jīng)過網(wǎng)絡(luò)100相互聯(lián)系時,各個子系統(tǒng)運行各自的應(yīng)用程序。
圖3說明由各子系統(tǒng)所發(fā)送的,攜帶數(shù)據(jù)的報文格式。將數(shù)據(jù)格式化為如圖3所示的報文并由子系統(tǒng)送出。報文21包括位于頂部的內(nèi)容代碼22,表示數(shù)據(jù)內(nèi)容;數(shù)據(jù)內(nèi)容后面的測試標(biāo)志23表示數(shù)據(jù)是否是要測試的。測試標(biāo)志23后面是發(fā)送地止24再后面是數(shù)據(jù)25。報文21是經(jīng)散播傳送進入網(wǎng)絡(luò)100。
圖4說明圖3中所示報文處理的順序。報文21依次在各子系統(tǒng)間進行處理。以運行為例,報文D1傳送進入網(wǎng)絡(luò)100。假設(shè)子系統(tǒng)1的應(yīng)用程序?qū)?yīng)于報文D1的內(nèi)容碼22進行啟動,再假設(shè)在每個子系統(tǒng)的目錄代碼表16中都予先登錄了內(nèi)容代碼CC和相對應(yīng)的子系統(tǒng)所運行的應(yīng)用程序之間的對應(yīng)情況。若報文21的內(nèi)容碼22與內(nèi)容碼表16中的內(nèi)容碼相匹配,此報文21的內(nèi)容碼22是經(jīng)接口11從網(wǎng)絡(luò)100取入接收緩沖器14中的,那么處理器13把報文21中數(shù)據(jù)25傳送到應(yīng)用數(shù)據(jù)緩沖器18中輸入緩沖器。若發(fā)現(xiàn)報文21中測試標(biāo)志23是置位,表示該數(shù)據(jù)是用于測試的,那么將與測試標(biāo)志表17中與該應(yīng)用程序有關(guān)的測試標(biāo)志置位。
把數(shù)據(jù)儲存在應(yīng)用數(shù)據(jù)緩沖器18中輸入緩沖器之后,處理器13啟動應(yīng)用程序。如有必要,處理器13從輸入/輸出設(shè)備10取來數(shù)據(jù),并把處理結(jié)果儲存在應(yīng)用數(shù)據(jù)緩沖器18中處理結(jié)果緩沖器中。若發(fā)現(xiàn)測試標(biāo)志表17中該應(yīng)用程序的測試標(biāo)志為復(fù)位,處理器13把數(shù)據(jù)D2送到輸入/輸出設(shè)備10,這取決于處理結(jié)果緩沖器中的處理結(jié)果,并且為了把數(shù)據(jù)D2送到其它子系統(tǒng),將報文D3傳送到發(fā)送緩沖器15,然后在合適的傳送時間把發(fā)送緩沖器15中數(shù)據(jù)D3經(jīng)接口11輸出送到網(wǎng)絡(luò)100。
例如,散播在網(wǎng)絡(luò)100中的報文D3用上述同樣的方法由子系統(tǒng)2進行處理。圖4中,子系統(tǒng)2處理的數(shù)據(jù)D4傳遞給輸入/輸出設(shè)備20并在同一時間將數(shù)據(jù)D5從發(fā)送緩沖器15輸出給網(wǎng)絡(luò)100。當(dāng)經(jīng)過輸入/輸出設(shè)備同外界交互處理數(shù)據(jù)期間,每個子系統(tǒng)都以這種方式連續(xù)地進行處理。
圖6說明附加數(shù)據(jù)測試標(biāo)志的處理過程。伴有測試標(biāo)志的數(shù)據(jù)表示為Di(t)(這里i取1到n)。下面描述當(dāng)Di(t)輸出到網(wǎng)絡(luò)100時的處理過程??梢约僭O(shè)子系統(tǒng)n最初已建立了測試數(shù)據(jù)并將其以報文D1(t)的格式送出。用圖4所示方法,子系統(tǒng)1收集報文D1(t),它的處理器13把數(shù)據(jù)儲存在應(yīng)用數(shù)據(jù)緩沖器18中并將測試標(biāo)志表17中該應(yīng)用程序標(biāo)志置位。需要時,處理器13從輸入/輸出設(shè)備10中取來數(shù)據(jù),并把在處理結(jié)果緩沖器中處理結(jié)果儲存在應(yīng)用數(shù)據(jù)緩沖器18中。檢測測試標(biāo)志表17中應(yīng)用程序測試標(biāo)志的設(shè)置狀態(tài),處理器13將測試標(biāo)志23置位并將要傳遞到輸入/輸出設(shè)備10的處理結(jié)果緩沖器中,數(shù)據(jù)以報文D2(t)的格式送到網(wǎng)絡(luò)100中,而不是傳遞給輸入/輸出設(shè)備10。要傳遞到其它子系統(tǒng)的報文也以具有置位測試標(biāo)志23作為報文D3(t)經(jīng)發(fā)送緩沖器15送入網(wǎng)絡(luò)100。子系統(tǒng)2用與上述相同的方法處理經(jīng)散播進入網(wǎng)絡(luò)100的報文D3(t)。換言之,報文D2(t)并不包括在子系統(tǒng)1,2,3等等中一致協(xié)調(diào)處理的數(shù)據(jù),而由監(jiān)控測試結(jié)果的子系統(tǒng)n所接收。子系統(tǒng)n接收所有在網(wǎng)絡(luò)100中流動的、附加了測試標(biāo)志的報文并將它們儲存。監(jiān)控子系統(tǒng)n預(yù)先提供一個測試說明表31,在表31中確定了應(yīng)用軟件資源的輸入/輸出數(shù)據(jù)和這些數(shù)據(jù)輸出次序之間的相互關(guān)系。
圖5是解釋測試說明表的示意圖。測試說明表31是由測試數(shù)據(jù)序列欄32,接收測試數(shù)據(jù)序列欄33和數(shù)據(jù)傳送子系統(tǒng)欄34所組成。測試數(shù)據(jù)序列欄32儲存測試數(shù)據(jù)25和各個用符號表示為di’的數(shù)據(jù)內(nèi)容碼22。在對輸入di’運行應(yīng)用程序產(chǎn)生輸出dj’時,將測試數(shù)據(jù)序列欄32記為dj’/di’。對要測試第一次經(jīng)散播進入網(wǎng)絡(luò)100的輸入D1’,所有子系統(tǒng)中順序地運行應(yīng)用程序并產(chǎn)生結(jié)果,在這種情況下,從測試數(shù)據(jù)序列欄32的頂部順序地記下輸入/輸出的相互關(guān)系。
監(jiān)控子系統(tǒng)n將接收到附加測試標(biāo)志的報文的內(nèi)容代碼和數(shù)據(jù)儲存在測試說明表31中的接收測試數(shù)據(jù)序列欄33中,并將發(fā)送地址儲存在數(shù)據(jù)傳送子系統(tǒng)欄34中。在這種情況下,按接收順序及該內(nèi)容代碼相應(yīng)的位置,附有測試標(biāo)志的報文儲存在測試數(shù)據(jù)序列欄32內(nèi)。
若測試數(shù)據(jù)序列欄32的內(nèi)容與接收測試數(shù)據(jù)序列欄內(nèi)容33不匹配,或者若沒有與接收到附加報文的內(nèi)容碼匹配的,那么認為已發(fā)出報文的子系統(tǒng)是異常的。可以從報文的發(fā)送地址識別出有故障的子系統(tǒng)。
若在測試數(shù)據(jù)D1(t)傳送或附加測試標(biāo)志的報文接收之后的一個固定時間片終止時,以及在同一時間若數(shù)據(jù)存在于測試說明表31的測試數(shù)據(jù)序列32中,監(jiān)控子系統(tǒng)n沒有接收到附加下一個測試標(biāo)志報文的,那么判斷認為已發(fā)送數(shù)據(jù)的子系統(tǒng)是異常的。例如,在圖7中,若子系統(tǒng)2發(fā)生故障,那么就不能傳送附加報文D4(t)和D5(t)的測試標(biāo)志。根據(jù)測試說明表31,監(jiān)控子系統(tǒng)n識別出應(yīng)當(dāng)已發(fā)送報文D4(t)和D5(t)的子系統(tǒng)是異常的。
上述的解釋是基于每個子系統(tǒng)具有單一功能的假設(shè),以及每個輸出報文具有單一的內(nèi)容碼。盡管如此,雖然輸出了具有一個以上相同內(nèi)容碼的附加測試標(biāo)志的報文,但是對于上面所描述的情況,異常檢測同樣會發(fā)生。然而,應(yīng)當(dāng)注意到大多數(shù)數(shù)據(jù)能夠記入測試說明表31的接收測試數(shù)據(jù)序列欄33中。在這種情況下,在數(shù)據(jù)傳送子系統(tǒng)欄34中的發(fā)送地址相應(yīng)地將是一個以上。
下面將描述前面實施例的改進版本。
改進1上述實施例允許在需要啟動應(yīng)用程序時處理器13從輸入1輸出設(shè)備10取來數(shù)據(jù)。然而,該改進中不允許使用輸入/輸出設(shè)備10進行測試。在這種情況下,例如,子系統(tǒng)n建立的數(shù)據(jù)與經(jīng)輸入/輸出設(shè)備10以附加報文D3(t)的測試標(biāo)志格式所接收的數(shù)據(jù)相同,并且將其送到網(wǎng)絡(luò)100上。然后,測試處理繼續(xù)用與上述實施例相同的方法進行。
改進2在前面的實施例中,將應(yīng)用程序的處理結(jié)果傳遞給輸入/輸出設(shè)備10。然而,本改進可以把處理結(jié)果輸出到外部,以保證測試不影響系統(tǒng)運行。
如上所述,第一實施例使一個包括若干子系統(tǒng)的系統(tǒng)在聯(lián)機運行期間能夠進行測試,對于一個測試下的子系統(tǒng)不必使用切換方式或增加特殊的硬件而在與正常運行完全相同的系統(tǒng)條件下就能進行測試。本實施例也允許改變聯(lián)在網(wǎng)絡(luò)中的子系統(tǒng)節(jié)點。此外,根據(jù)測試結(jié)果可以尋找系統(tǒng)任一部分的故障以檢測一個有故障的子系統(tǒng)。
實施例2圖8說明本發(fā)明提供第二實施例的分布式處理系統(tǒng)的一般配置。配置包括每個運行儲存在其內(nèi)部存儲器中應(yīng)用程序的處理機41到46,一個具有由箭頭所示傳送方向的單向循環(huán)傳輸線47,以及為控制數(shù)據(jù)在傳輸線上傳輸?shù)木W(wǎng)絡(luò)控制處理器(NCP)1001到1006。處理器41-46分別經(jīng)雙向通路同NCP相聯(lián)。處理器41-46具有自己的經(jīng)各NCP1001-1006送到傳輸線47上的處理結(jié)果數(shù)據(jù)。每個NCP檢查傳輸線47上數(shù)據(jù)對于相聯(lián)的處理是否有用,若判定是有用的話,就把數(shù)據(jù)送到該處理器。41-46中的每一個處理器收集所有對儲存在該處理器中應(yīng)用程序,執(zhí)行所必需的數(shù)據(jù),然后,用所收集的數(shù)據(jù)準(zhǔn)備執(zhí)行程序。
使用處理器44作為系統(tǒng)測試器,這個系統(tǒng)具有產(chǎn)生測試數(shù)據(jù)和收集測試結(jié)果數(shù)據(jù)的功能,用以實現(xiàn)本發(fā)明測試方法的要求。處理器44與由維護人員使用的CRT顯示終端相聯(lián)。
圖9說明在傳輸線47上流動數(shù)據(jù)的格式。這個格式包括標(biāo)志(F)101和107用以表示一個報文的起始和結(jié)尾,一個功能碼(FC)102表示數(shù)據(jù)的內(nèi)容和功能,一個源地址(SA)103表示建立該數(shù)據(jù)的NCP,用于傳送的一個順序號(C)104,由應(yīng)用程序處理的信息數(shù)據(jù)字段105,以及一個故障檢測數(shù)據(jù)(FCS)106。
每個NCP獲得具有與登錄在相關(guān)處理器中相同的FC數(shù)據(jù)(其應(yīng)用程序中所用數(shù)據(jù)的FC)并把數(shù)據(jù)傳遞到處理器。
圖10說明處理器如圖8中處理器41的內(nèi)部配置。傳輸控制部件201完成在NCP1001與處理機41之間數(shù)據(jù)傳送,把從NCP接收到的數(shù)據(jù)儲存在接收緩沖器203,并把發(fā)送緩沖器204中的數(shù)據(jù)傳遞到NCP。測試部件205根據(jù)本發(fā)明進行系統(tǒng)測試,測試模塊表206提供了測試部件205使用的儲存區(qū)域。處理部件207控制應(yīng)用程序1101-1103的執(zhí)行。輸入/輸出數(shù)據(jù)區(qū)209用于為每個互相獨立的應(yīng)用程序儲存輸入和輸出數(shù)據(jù)。
圖11說明圖10中輸入/輸出數(shù)據(jù)區(qū)209的結(jié)構(gòu)。第一行1091由應(yīng)用程序1101儲存輸入數(shù)據(jù)的輸入數(shù)據(jù)區(qū)10911和儲存由應(yīng)用程序1101產(chǎn)生處理結(jié)果的輸出數(shù)據(jù)區(qū)10912組成。第二行1092具有儲存應(yīng)用程序1102的輸入和輸出數(shù)據(jù)區(qū)域10921和10922。用這種方法,把輸入和輸出數(shù)據(jù)區(qū)分配給每個應(yīng)用程序。處理部件207(圖10)把從傳輸線接收到的數(shù)據(jù)儲存到需要此數(shù)據(jù)的應(yīng)用程序的輸入數(shù)據(jù)區(qū)中。若沒有需要接收數(shù)據(jù)的應(yīng)用程序,處理部件207對這些數(shù)據(jù)不予理采。該應(yīng)用程序中所用的所有數(shù)據(jù)已置入輸入數(shù)據(jù)區(qū)之后,就啟動程序。一旦啟動了應(yīng)用程序,就用儲存在輸入/輸出數(shù)據(jù)區(qū)209內(nèi)輸入數(shù)據(jù)區(qū)中的數(shù)據(jù)繼續(xù)進行處理。執(zhí)行完成時,程序把處理結(jié)果連同功能碼FC儲存到輸入/輸出數(shù)據(jù)區(qū)209內(nèi)相應(yīng)輸出數(shù)據(jù)區(qū)中。在輸出數(shù)據(jù)區(qū)中的數(shù)據(jù)經(jīng)處理部件207和測試部件205放入發(fā)送緩沖器204中,然后由傳輸控制部件201傳輸?shù)絺鬏斁€上。
圖12根據(jù)本發(fā)明第二實施例,說明測試運行操作。處理器44是作為分布式處理系統(tǒng)的系統(tǒng)測試器而設(shè)立的,處理器44有一個和應(yīng)用程序一樣的測試數(shù)據(jù)生成程序,它用經(jīng)CRT終端140輸入的信息產(chǎn)生測試數(shù)并把數(shù)據(jù)送到如粗線501所示傳輸線上。下面描述在處理器42的應(yīng)用程序(A)201中測試,處理器42使用帶功能碼FCA的數(shù)據(jù)運行。
圖13說明測試數(shù)據(jù)的格式。這個格式與圖9所示相同,在圖9數(shù)據(jù)部分105中設(shè)置測試數(shù)據(jù)FCT602是一個功能碼(定為術(shù)語“測試FC”),以表示數(shù)據(jù)部分是測試數(shù)據(jù)。這個格式包括相當(dāng)于圖9中數(shù)項105的項605,F(xiàn)CA6051和Data(A)6053,它們分別是應(yīng)用程序(A)1201測試中所用的數(shù)據(jù)功能碼和數(shù)據(jù)本身。
和處理器41-46相聯(lián)的NCP有登錄在其中的測試FC(FCT),每個NCP取來測試數(shù)據(jù)501并將其使傳遞給如圖12所示相聯(lián)處理器。將測試數(shù)據(jù)經(jīng)傳輸控制部件201(圖10)儲存在接收緩沖器203(圖10)中。
圖14和圖15是裝在每個處理器中的測試部件運行示意圖。圖10所示測試部件205的運行用圖14和圖15描述。圖14說明數(shù)據(jù)接收時測試部件205的處理過程。測試部件205最初檢查儲存在接收緩沖器的數(shù)據(jù)FC項中功能碼是否是測試FC,即,F(xiàn)CT,(步驟701)。若不是FCT,測試部件205把數(shù)據(jù)7001傳遞到的處理部件207(步驟702),如圖14(b)所示數(shù)據(jù)7001是由一個功能碼(FCA),一個數(shù)據(jù)字段(Data A)和在接收緩沖器中數(shù)據(jù)7000以外處于復(fù)位狀態(tài)的T-標(biāo)志。
相反,若發(fā)現(xiàn)接收緩沖器中數(shù)據(jù)FC字段的功能碼是FCT,則測試部件205檢查圖13中數(shù)據(jù)部分功能碼6051是否是應(yīng)用程序本身所用的功能碼(步驟703),若不是程序本身所用的數(shù)據(jù),測試部件205就結(jié)束處理。若發(fā)現(xiàn)在數(shù)據(jù)部分功能碼是應(yīng)用程序本身所用數(shù)據(jù)的功能碼,測試部件205將該標(biāo)志置入測試模塊表206(圖10)表示該應(yīng)用程序?qū)τ糜跍y試的輸入數(shù)據(jù)進行運行步驟704,隨后,測試部件205把數(shù)據(jù)7101傳遞到圖14所示處理部件207(圖10)(步驟705)。數(shù)據(jù)7101由放在接收數(shù)據(jù)7100中數(shù)據(jù)字段71000中的一個功能碼(FCA),測試數(shù)據(jù)字段(Data A)和一個處于置位狀態(tài)的T-標(biāo)志。
程序執(zhí)行所必需的數(shù)據(jù)205經(jīng)測試部件取到之后,處理部件207啟動應(yīng)用程序。處理一完成,應(yīng)用程序?qū)?shù)理結(jié)果數(shù)據(jù)(如,Data C)連同其功能碼(如,F(xiàn)CC)一同儲存在輸入/輸出數(shù)據(jù)區(qū)209(圖10)中。經(jīng)處理部件207(圖10)把數(shù)據(jù)傳遞到測試部件。
其次,用圖15描述測試部件對由應(yīng)用程序產(chǎn)生的輸出數(shù)據(jù)進行處理過程。一旦從處理部件接收應(yīng)用程序輸出的數(shù)據(jù),測試部件最初依據(jù)測試模式表206(圖10)檢查是否是測試數(shù)據(jù)驅(qū)動應(yīng)用程序的輸出(步驟801)。若不是測試-運行結(jié)果,如圖15(b)所示,測試部件205將輸出數(shù)據(jù)8000的功能碼FCC儲存在發(fā)送緩沖器FC字段中并把數(shù)據(jù)(Data C)儲存在發(fā)送緩沖器的數(shù)據(jù)部分(步驟802)。若發(fā)現(xiàn)是測試運行的輸出,測試部件205將輸出數(shù)據(jù)8100功能碼FCC和數(shù)據(jù)(Data C)儲存在發(fā)送緩沖器的數(shù)據(jù)部分中,并在發(fā)送緩沖器FC字段中置入測試FC(即,F(xiàn)CT)(步驟803)。
圖16說明應(yīng)用程序執(zhí)行的過程。在應(yīng)用程序中當(dāng)數(shù)據(jù)要輸出到外部設(shè)備時,執(zhí)行圖16所示處理例行程序。外部器件輸出例行程序900檢查圖14(b)和14(c)所示T-標(biāo)志(步驟901),若發(fā)現(xiàn)T-標(biāo)志復(fù)位,就把數(shù)據(jù)輸出到外部設(shè)備(步驟902),或者,若發(fā)現(xiàn)T-標(biāo)志置位,那么就可將數(shù)據(jù)輸出到外部設(shè)備,建立數(shù)據(jù)并儲存到輸入/輸出數(shù)據(jù)區(qū)209(圖10)(步驟903),該數(shù)據(jù)具有輸出數(shù)據(jù)和數(shù)據(jù)字段中無效FC(FCf)的內(nèi)容和作為功能碼的測試FC(FCT)(見圖16(b))。
由具有功能碼FCT數(shù)據(jù)驅(qū)動并為收集這些數(shù)據(jù)的應(yīng)用程序是在圖8中處理器44系統(tǒng)測試機中建立的,以便收集程序測試數(shù)據(jù)。
于是,即使在系統(tǒng)聯(lián)機運行期間,也能通過測試處理器產(chǎn)生具有的測試FC測試數(shù)據(jù),測試運行應(yīng)用程序。通過在測試處理器上運行取得具有測試FC的數(shù)據(jù),可以獲得測試結(jié)果或者輸出到外部設(shè)備的數(shù)據(jù)。
盡管在上面實施例中指定的處理器,即圖8中處理機44,為建立測試數(shù)據(jù)的測試器,但本發(fā)明并不把測試器局限于一臺處理臺,而任一臺或任意數(shù)量的處理器都可用于測試應(yīng)用程序和收集測試結(jié)果。
在上述實施例中,由某個應(yīng)用程序運行測試數(shù)據(jù)產(chǎn)生輸出數(shù)據(jù),使用這些輸出數(shù)據(jù)的其它應(yīng)用程序,仍然在測試-運行,因此對某一個過程能產(chǎn)生一系列的處理結(jié)果,在這個處理過程中僅僅只要靠為第一個程序所生成的測試-運行數(shù)據(jù),就可以相繼執(zhí)行幾個程序。
在上述第二個實施例中,各個處理器均在其中提供一個具有多功能的測試部件。這些功能是鑒別測試數(shù)據(jù)還是聯(lián)機數(shù)據(jù)的功能;從執(zhí)行該程序的數(shù)據(jù)中生成程序運行數(shù)據(jù)的功能;將處理結(jié)果數(shù)據(jù)構(gòu)成另一個測試數(shù)據(jù)的功能;以及將新的測試數(shù)據(jù)送到公共傳輸線的功能。這樣,當(dāng)這些數(shù)據(jù)識別為測試數(shù)據(jù)時,它們就不向外部輸出,而是將這些輸出作為測試數(shù)據(jù)發(fā)送到公共傳輸線上。這就使任意一個處理器即使分布處理系統(tǒng)(聯(lián)機)操作期間,都能夠測試-運行系統(tǒng)應(yīng)用程序,得出測試結(jié)果。因此,提高了系統(tǒng)維護能力。
實施例3
附圖17表示根據(jù)本發(fā)明的第3實施例,構(gòu)成分布處理系統(tǒng)的處理器內(nèi)部配置。在圖8所示的分布處理系統(tǒng)中,處理器41-46在本實施例中配置如圖17。與圖10所示的第2實施例相比,除了圖10的配置外,圖17的配置進一步包括了一個輸出模式存儲區(qū)211。測試部件205用于測試-運行應(yīng)用程序,內(nèi)裝有測試模塊表206與輸出模式存儲區(qū)211。配置的其余部分與圖10相同。圖17中輸入/輸出數(shù)據(jù)存儲區(qū)209如圖11所示,劃分成輸入數(shù)據(jù)區(qū)和輸出數(shù)據(jù)區(qū)。
第3實施例的測試操作將用圖12和圖18加以闡述。圖12中的處理器44作為系統(tǒng)測試器進行工作,拿測試數(shù)據(jù)生成程序作為其應(yīng)用程序,而且此測試器根據(jù)從CRT終端140輸入的信息建立測試數(shù)據(jù),并把這些數(shù)據(jù)發(fā)送到傳輸線501。下面說明處理器42應(yīng)用程序A1201的測試情況,處理器42使用帶有功能碼FCA的數(shù)據(jù)。
圖18表示測試數(shù)據(jù)的格式。這個格式與圖9所示的格式是相同的,測試數(shù)據(jù)放在數(shù)據(jù)字段105處。數(shù)據(jù)格式包括一個功能碼FCT(測試FC)602表示是測試數(shù)據(jù),字段605與圖9的數(shù)據(jù)105相同,輸入數(shù)據(jù)功能碼FC605和輸入數(shù)據(jù)(i-Data A)6052是為測試-運行上述應(yīng)用程序A1201(圖12)設(shè)置的,還有用數(shù)據(jù)(i-Data)6052執(zhí)行程序A所產(chǎn)生的結(jié)果輸出數(shù)據(jù)(以后稱為“輸出模式”)。
與處理器41-46相聯(lián)的NCP都已在此用測試FC(FCT)登錄,如圖12所示各NCP取出測試數(shù)據(jù)501,并把這些測試數(shù)據(jù)送到相聯(lián)接的處理器。測試數(shù)據(jù)經(jīng)由傳輸控制部件201(圖17)存入接收緩沖器203中。
接下來,用圖19和圖20來說明圖17中測試部件205的操作。圖19(a),19(b),19(c)表示測試部件的數(shù)據(jù)接受操作和報文處理的格式。在數(shù)據(jù)接受時,測試部件205首先檢測接收緩沖器203中存入數(shù)據(jù)FC字段的功能碼是不是測試FC(即FCT)(步驟701)。如果這個功能碼不是測試FC,則測試部件205放行數(shù)據(jù)7001至處理部件207(步驟702),如圖19(b)所示,這數(shù)據(jù)7001由接受緩沖器存入數(shù)據(jù)7000中的功能碼FCA,數(shù)據(jù)字段(Data A)以及處復(fù)位狀態(tài)的T標(biāo)志組成。如果接收緩沖器中數(shù)據(jù)FC字段的功能碼表明是測試FC,則測試部件205檢查圖18所示數(shù)據(jù)字段中功能碼6051是不是自身應(yīng)用程序所要使用的數(shù)據(jù)功能碼(步驟703),如果不是有用的數(shù)據(jù),則測試部件終止其操作。如果發(fā)現(xiàn)是在自身應(yīng)用程序要用的數(shù)據(jù)功能碼,測試部件在測試模塊表206中置上標(biāo)志以表示由輸入數(shù)據(jù)驅(qū)動的應(yīng)用程序是用于測試-運行的(步驟704)。接下來,測試部件205檢查輸出模式是不是放在接收緩沖器的數(shù)據(jù)字段中(步驟705),如果放入了,如圖19(c)所示的測試部件205就把已放入接受數(shù)據(jù)7100中的數(shù)據(jù)字段7100中的輸出模式O-DATA A放進輸出模式存儲區(qū)211中(步驟706)。接著,測試部件205放行數(shù)據(jù)7101送到處理部件207,如圖19(c)所示,該數(shù)據(jù)是由功能碼FCA,測試-運行輸入數(shù)據(jù)i-DATA A以及處于置狀態(tài)的T標(biāo)志組成,而這些先前都放在接受數(shù)據(jù)7100的數(shù)據(jù)字段7100中(步驟707)。一旦所有程序執(zhí)行所需要的數(shù)據(jù)從測試部件205都接受以后,處理部件207啟動應(yīng)用程序。
處理終止以后,應(yīng)用程序把處理結(jié)果數(shù)據(jù)(例如DATA C)與其功能碼(例如FCC)一起存儲在輸入/輸出數(shù)據(jù)存儲區(qū)209內(nèi)。該數(shù)據(jù)經(jīng)由處理部件到達測試部件205。
下面參照圖20闡述與應(yīng)用程序輸出數(shù)據(jù)有關(guān)的測試部件操作。一旦接受了來自處理部件207的應(yīng)用程序輸出數(shù)據(jù),測試部件205首先檢查測試模塊表206,看看測試模塊是否是用測試數(shù)據(jù)驅(qū)動應(yīng)用程序得到的輸出(步驟801)。如果不是測試-運行那種情況,則測試部件205將輸出數(shù)據(jù)8000的功能碼FCc存在發(fā)送緩沖器FC字段內(nèi),而把Data C存放在發(fā)送緩沖器的數(shù)據(jù)字段內(nèi)(步驟802)。如果該輸出表明是由測試-運行而產(chǎn)生的,則測試部件205檢查該程序的該輸出模式是否存儲在輸出模式存儲區(qū)211內(nèi),假如表明是存在此區(qū)內(nèi),測試部件再檢查與輸出模式的匹配(步驟803、804)。如果不產(chǎn)生匹配,測試部件205就把表示測試-運行應(yīng)用程序不正常的數(shù)據(jù)存放到發(fā)送緩沖器中(步驟806)。假如產(chǎn)生了匹配,如圖20(c)所示,則測試部件就把輸出數(shù)據(jù)8001的功能碼FCc及數(shù)據(jù)Data C存放到發(fā)送緩沖器的數(shù)據(jù)字段中,并把測試FC(FCT)存到發(fā)送緩沖器的FC字段中(步驟803)。在這種情況下,要事先清除發(fā)送緩沖器數(shù)據(jù)字段中的O-Data區(qū)。
當(dāng)數(shù)據(jù)輸出到外部設(shè)備時,應(yīng)用程序完成圖16(a)所示的處理。用外部設(shè)備輸出例行程序(步驟900)來進行檢查圖19(b)和19(c)所示的T標(biāo)志的狀態(tài)。如果T標(biāo)志表明為復(fù)位,數(shù)據(jù)就輸出到外部設(shè)備(步驟902);如果T標(biāo)志表明為置位,則建立一個數(shù)據(jù),這個數(shù)據(jù)在數(shù)據(jù)字段有輸出內(nèi)容和無效FC(FCf),而在功能碼內(nèi)有測試FC(FCT)(見圖16(b)),并且這個數(shù)據(jù)存放在輸入/輸出數(shù)據(jù)存儲區(qū)209內(nèi)(步驟903)。應(yīng)用程序運行測試數(shù)據(jù)后得到的測試結(jié)果數(shù)據(jù)以及想要收集的數(shù)據(jù)都放在系統(tǒng)測試器44中(圖12),這樣把程序測試-運行的結(jié)果收集起來。
借助用測試處理器生成帶有測試FC的測試數(shù)據(jù)以及用接收到的測試結(jié)果數(shù)據(jù)測試-運行應(yīng)用程序,上述第3實施例還能夠在系統(tǒng)聯(lián)機操作期間檢測出應(yīng)用程序異常的情況。盡管在上述實施例中圖12處理器44指定為生成測試數(shù)據(jù)的測試器,本發(fā)明并不限制將測試器固定在某一個處理器,而是任何處理器或任意個處理器均可用于測試應(yīng)用程序。
在上述實施例中,用測試數(shù)據(jù)運行應(yīng)用程序產(chǎn)生輸出數(shù)據(jù),使用這些數(shù)據(jù)的應(yīng)用程序仍然可以運行測試。因此,通過為第一個程序把某些程序的輸出模式放在測試-運行數(shù)據(jù)中,以及通過測試部件上具有測試數(shù)據(jù)的輸出模式與測試-運行程序的輸出可以進行比較功能的裝置執(zhí)行幾個程序,相繼完成測試-系列處理是完全可能的。
盡管在上述實施例中,表示測試-運行情況的信息與測試-運行數(shù)據(jù)都被放在同一個數(shù)據(jù)內(nèi)傳輸,但還能有改進的方法,即信息和數(shù)據(jù)分別放在不同的數(shù)據(jù)中,而只把表示測試-運行情況的信息先進行傳輸。
盡管在第2及第3實施例中,作為例子,將網(wǎng)格限制為一個循環(huán)傳輸系統(tǒng),本發(fā)明仍然可以應(yīng)用于通用的網(wǎng)絡(luò)。
實施例4圖21表示應(yīng)用本發(fā)明第4實施例的整個系統(tǒng)的配置。該配置包括,處理器311-316,它們運行存儲在各自內(nèi)部存儲器內(nèi)的應(yīng)用程序;一個單向循環(huán)傳輸線301,它以圖上所示箭頭方向進行操作;網(wǎng)絡(luò)控制處理器(NCPs)1001-1006,它們完成在傳輸線上的數(shù)據(jù)傳輸控制。NCPs1001-1006通過雙向線路與各自的處理器311-316相聯(lián)接。
處理器311-316都有它們自己的處理結(jié)果(數(shù)據(jù)),并通過各自的NCPs1001-1006把數(shù)據(jù)發(fā)送到傳輸線301。各個NCPs1001-1006都檢查在傳輸線301上的數(shù)據(jù)流,對于相聯(lián)接的處理器是不是需要的,并且只有當(dāng)表明數(shù)據(jù)是有用的時候,才把它們送往自身的處理器。
當(dāng)執(zhí)行存儲的應(yīng)用程序需要的全部數(shù)據(jù)都準(zhǔn)備好了以后,各個處理器311-316啟動程序。這些啟動以后的程序使用取出來的數(shù)據(jù)繼續(xù)進行處理。
在本系統(tǒng)中,處理器314聯(lián)接一臺CRT控制臺14000,根據(jù)本發(fā)明用于進行測試。同樣在本系統(tǒng)中,處理器311,與外部輸入/輸出設(shè)備10001相聯(lián)結(jié),通過這個設(shè)備輸入外部處理數(shù)據(jù)。
圖22表示傳輸線301上數(shù)據(jù)流的格式。此格式包括,一個標(biāo)志(F)5201,用于指示報文的開始;和一個功能碼(FC)5202,表示數(shù)據(jù)的內(nèi)容及功能。根據(jù)這個功能碼,各NCP都要檢查接受到的數(shù)據(jù)對于相聯(lián)接的處理器是有用還是沒用。此格式進而還包括,已傳輸了數(shù)據(jù)NCP的地址,(源地址SA)5203;順序號(C)5204用于傳輸;信息(DATA)5206,它是用應(yīng)用程序所處理的;一個錯誤探測數(shù)據(jù)(FCS)5207;一個標(biāo)志(F)5208,表示此報文的結(jié)果;以及處理順序號(EN)5205,它由處理器號與數(shù)據(jù)生成的序列號組成,此EN在下面稱為“事件號”。
圖23表示處理器311-316的內(nèi)部配置,如圖21所示的處理器311。在此配置中,傳輸控制部件5101在NCP1001及處理器311之間傳送數(shù)據(jù),傳輸是以下列方式進行的,即把已經(jīng)從NCP接受來的數(shù)據(jù)存入接收緩沖器5103,而把發(fā)送緩沖器5104的數(shù)據(jù)送到NCP;與此同時,如果這個數(shù)據(jù)對于本身這個處理器的應(yīng)用程序是有用的話,就把數(shù)據(jù)存進接受緩沖器5103之中。根據(jù)本發(fā)明,測試部件5105用來完成測試的,模塊屬性表5106是用于存儲表示各個應(yīng)用程序是處在測試-運行方式的信息。處理器號存儲區(qū)5113存放處理器號,這個號唯一地分配給各個處理器;順序號區(qū)5114用作一個計數(shù)器,對數(shù)據(jù)生成號進行計數(shù)。
處理部件5107控制應(yīng)用程序1101-1103的執(zhí)行。外部輸入控制部件5111用于從外部輸入/輸出設(shè)備10001輸入數(shù)據(jù)。外部輸入FC表5112是一個區(qū)域,用來存放外部輸入數(shù)據(jù)的功能碼。輸入/輸出數(shù)據(jù)存儲區(qū)5109分別存放各應(yīng)用程序的輸入和輸出數(shù)據(jù)。
圖24(a)表示輸入/輸出數(shù)據(jù)存儲區(qū)5109的結(jié)構(gòu)。第1行1091是應(yīng)用程序1101的輸入/輸出數(shù)據(jù)區(qū),其中10911區(qū)存放輸入數(shù)據(jù),而10912區(qū)存放應(yīng)用程序1101處理的結(jié)果。第2行1092是專為應(yīng)用程序1102的輸入/輸出設(shè)置的,以同樣的方式,輸入/輸出數(shù)據(jù)區(qū)提供給其余那些應(yīng)用程序。
圖24(b)表示存在輸入數(shù)據(jù)區(qū)及輸出數(shù)據(jù)區(qū)中數(shù)據(jù)的格式。此格式包括,一個輸入數(shù)據(jù)或輸出數(shù)據(jù)的功能碼(FC)10901;一個輸入或輸出數(shù)據(jù)的事件號(EN)10902;以及輸入或輸出數(shù)據(jù)本身(DATA)10903。
下面闡述本發(fā)明數(shù)據(jù)方法的一個實施例。
圖25(a)及25(b)以流程圖說明處理部件5107的操作。首先參照圖25(a)來說明接收數(shù)據(jù)的操作。處理部件5107從接收緩沖器5103取出數(shù)據(jù),然后把輸入報文的功能碼(FC),事件號(EN)以及數(shù)據(jù)本身(DATA)存入輸入/輸出數(shù)據(jù)存儲區(qū)域的輸入數(shù)據(jù)區(qū)中(步驟5501)。
接下來,處理部件5107檢查是不是有可執(zhí)行的應(yīng)用程序存在,換句話說,程序執(zhí)行所必需的全部輸入數(shù)據(jù)是不是都已經(jīng)存在輸入數(shù)據(jù)區(qū)10911里了(步驟5502)。假如有可執(zhí)行的程序存在,處理部件5107就把輸入數(shù)據(jù)區(qū)中對應(yīng)于那個程序的事件號區(qū)(EN)內(nèi)容存到對應(yīng)于此程序的輸出數(shù)據(jù)區(qū)的事件號區(qū)中(步驟5503)。
在應(yīng)用程序運行要使用多于一個輸入數(shù)據(jù)的情況下,輸出數(shù)據(jù)區(qū)的事件號區(qū)與輸入數(shù)據(jù)的號碼就號碼上相同的就保留下來,并且將所有輸入信息的事件號全都存入輸出數(shù)據(jù)區(qū)的事件號區(qū)中。
然后,順序執(zhí)行那些已成為可執(zhí)行的應(yīng)用程序(步驟5504)。
啟動后的應(yīng)用程序用自身輸入數(shù)據(jù)區(qū)的數(shù)據(jù)繼續(xù)進行處理,并且把結(jié)果厚存入對應(yīng)的輸出數(shù)據(jù)區(qū)。
一旦那些應(yīng)用程序通過上述的步驟執(zhí)行完成,處理部件5107檢查輸出數(shù)據(jù)是不是存入輸出緩沖區(qū)(圖25(b),步驟5521),并且,如果發(fā)現(xiàn)輸出數(shù)據(jù)已經(jīng)存入,則把數(shù)據(jù)發(fā)送到測試部件5105(步驟5522)。
圖26表示外部輸入控制部件5111的操作。當(dāng)發(fā)生外部輸入時,外部輸入控制部件5111檢查外部輸入FC表5112中該輸入數(shù)據(jù)的功能碼,并由外部輸入FC表5112輸入數(shù)據(jù)的功能碼來決定,將外部輸入數(shù)據(jù)存入發(fā)送緩沖器5104(步驟5610)。
接著,外部輸入控制部件5111把自身處理器號存儲器區(qū)5113的內(nèi)容及事件號區(qū)順序號區(qū)的內(nèi)容置入發(fā)送緩沖器5104(步驟5611),然后將順序號區(qū)的內(nèi)容增加1。
下面參照圖27闡述測試部件5105接著執(zhí)行應(yīng)用程序的操作。有關(guān)從處理部件5107接受應(yīng)用程序的輸出結(jié)果的情況為,測試部件5105檢查模塊屬性表5106中的測試標(biāo)志,用來知道應(yīng)用程序是不是處在測試方式;如果此程序不處于測試方式,則將從處理部件取出的數(shù)據(jù)存入發(fā)送緩沖器5104中(圖27(a)步驟5701,5702)。如果此程序發(fā)現(xiàn)處于測試方式,則測試部件5105建立測試數(shù)據(jù),此測試數(shù)據(jù)從處理部件5107取出數(shù)據(jù)作為數(shù)據(jù)字段(步驟5703),并把這些數(shù)據(jù)存入發(fā)送緩沖器5107中(步驟5704)。發(fā)送緩沖器的數(shù)據(jù)由傳輸控制部件5101構(gòu)成傳輸格式,并送到傳輸線301。
圖27(b)表示在步驟5703所建立起來的測試數(shù)據(jù)格式。功能碼區(qū)5750置功能碼FCT表示測試數(shù)據(jù),事件號區(qū)5751置自身處理器號存儲區(qū)5113的內(nèi)容和順序號區(qū)5114的內(nèi)容。
置完事件號后,測試部件5105將順序號區(qū)的內(nèi)容增加1,數(shù)據(jù)字段5752置入從處理部件5107取出來的數(shù)據(jù)內(nèi)容,即應(yīng)用程序輸出功能碼7521,數(shù)據(jù)字段7523及事件號7522。
通過處理部件5107和測試部件5105進一步的操作,采用把處于測試方式的應(yīng)用程序裝入某處理器并在模塊屬性表中置入測試標(biāo)志的方法,可以在不影響系統(tǒng)(聯(lián)機)操作的情況下,使用(聯(lián)機)數(shù)據(jù)測試-運行新近開發(fā)的應(yīng)用程序。測試-運行程序發(fā)出的輸出數(shù)據(jù)由測試部件5105再構(gòu)成測試數(shù)據(jù)(功能碼FCT),并發(fā)送到傳輸線301,這樣就允許任何處理器取出測試數(shù)據(jù)以分析測試-運行的結(jié)果。
下面參照圖28,圖29說明測試數(shù)據(jù)的收集處理。圖28(a)表示整個系統(tǒng)配置以及在應(yīng)用程序之間的數(shù)據(jù)流。在下面操作實例中,程序B1401使用處理器312聯(lián)機應(yīng)用程序A1201的輸出結(jié)果,它被裝入處理器314置于測試方式,這樣它就可以使用(聯(lián)機)數(shù)據(jù)進行測試。
處理器311的外部輸入控制部件5111從外部輸入設(shè)備10001接受輸入數(shù)據(jù)。數(shù)據(jù)5801包括功能碼(FCI)8011(圖28(b)),由處理號11與數(shù)據(jù)生成序號1組成的事件號8014以及通過如圖26示的處理而生成的處部輸入數(shù)據(jù)內(nèi)容(DATA I)8015。此數(shù)據(jù)是經(jīng)由NCP1001發(fā)送到傳輸線301。
如圖28(b)所示的數(shù)據(jù)格式5801包括NCP1001的地址(SA1)8012以及用于傳輸?shù)捻樞蛱?C1)8013。處理器312通過NCP1002取出數(shù)據(jù)5801,其處理部件5107運行如圖25(a)所示應(yīng)用程序A1201。應(yīng)用程序A用數(shù)據(jù)5801中的數(shù)據(jù)DATA I8015執(zhí)行處理,并且把處理結(jié)果數(shù)據(jù)DATA A及其功能碼FCA存入輸入/輸出數(shù)據(jù)存儲區(qū)5109的輸出數(shù)據(jù)區(qū)中。處理結(jié)果經(jīng)由處理部件5107,傳輸控制部件5101及NCP1002用如圖28(b)所示的格式發(fā)送到傳輸線301。數(shù)據(jù)5801事件號的內(nèi)容由處理部件置入事件號區(qū)8024。
除了測試方式程序B1401用數(shù)據(jù)5802運行以外,用來收集測試結(jié)果的程序T1402裝在處理器314內(nèi)。圖29(a)表示收集程序T的數(shù)據(jù)結(jié)構(gòu)。程序T由以下幾部分組成,即程序T114021,它用程序B的帶有功能碼FCA的數(shù)據(jù)5802進行運行;程序T214022,它用帶有功能碼FCT的測試數(shù)據(jù)進行運行以及數(shù)據(jù)存儲區(qū)14023。數(shù)據(jù)存儲區(qū)14023由存放程序B的輸入數(shù)據(jù)的區(qū)140231以及存儲輸出數(shù)據(jù)的區(qū)140232構(gòu)成。這些區(qū)域都有一個予定的數(shù)據(jù)緩沖器號,這些緩沖器根據(jù)先進先出原理用新的內(nèi)容替換舊的內(nèi)容。
處理器314中的程序B使用程序A的輸出數(shù)據(jù)5802進行運行,并且輸出如圖28(a)所示處理結(jié)果數(shù)據(jù)DATA B及其功能碼FCB。由于程序B處于測試方式,處理器314中的測試部件5105取出數(shù)據(jù)并將其重新構(gòu)成另一個測試數(shù)據(jù)5803。
處理器314中的程序I1 14021也是用同一數(shù)據(jù)5802進行運行(見圖28(a))。圖29(b)表示程序T1的處理。程序T1把輸入數(shù)據(jù)5802的功能碼FCA8021,事件號EN8024以及數(shù)據(jù)本身DATA A8025存入FCA數(shù)據(jù)存儲區(qū)140231(步驟5901)。
接下來,程序T1檢查與輸入數(shù)據(jù)5802用有相同事件號的數(shù)據(jù)是不是已經(jīng)存到測試數(shù)據(jù)存儲區(qū)140232中(步驟5902),如果發(fā)現(xiàn)已經(jīng)存入了,則在CRT控制臺14000上顯示輸入數(shù)據(jù)和測試數(shù)據(jù)存儲區(qū)中有相同事件號的那些數(shù)據(jù),作為測試-運行的結(jié)果信息(步驟5903)。
程序T214022(圖29(a))用測試數(shù)據(jù)5803進行運行(見圖28(b))。圖29(c)表示程序T2的處理。程序T2將輸入數(shù)據(jù)5803以及數(shù)據(jù)字段8035中的功能碼FCB80351,事件號80352和數(shù)據(jù)本身DATA B 80353都存入測試數(shù)據(jù)存儲區(qū)140232內(nèi)(圖29(a))(步驟5950)。
接著,程序T2檢查與輸入數(shù)據(jù)5803的數(shù)據(jù)字段8035有相同事件號的數(shù)據(jù)是不是已經(jīng)存入FCA數(shù)據(jù)存儲區(qū)140231(步驟5951),如果已經(jīng)存入了,在CRT控制臺14000上顯示在FCA數(shù)據(jù)存儲區(qū)內(nèi)的和測試數(shù)據(jù)存儲區(qū)內(nèi)具有相同事件號的數(shù)據(jù),作為測試-運行的結(jié)果(步驟5952)。
如上所述,第4實施例能夠利用已裝入任何處理器處于測試方式的聯(lián)機數(shù)據(jù)進行運行測試,而不會影響系統(tǒng)的(聯(lián)機)操作,并且還能使任意一個處理器都可以收集到用于測試-運行程序的輸入數(shù)據(jù)及輸出結(jié)果。
盡管上述第4實施例只涉及利用(聯(lián)機)數(shù)據(jù)測試-運行程序的情況,本實施例在模塊屬性表5106(圖23)中提供了一個存儲應(yīng)用程序正常輸出模式區(qū)域和輸出不正常檢測標(biāo)志的區(qū)域,并且本實施例提供了一種功能,即假如對輸入數(shù)據(jù)而言在一定的時間間隔或一定號碼的輸入情況下,把測試方式程序裝入測試部件5105(圖23)以后,與已存入的正常輸出模式加以比較假定輸出數(shù)據(jù)測定是正常的話,就把模塊屬性標(biāo)志加以復(fù)位的功能。這樣使得此實施例還能進一步在一旦應(yīng)用(聯(lián)機)數(shù)據(jù)進行測試完成時,使存儲測試-運行程序的處理器自動地進行(聯(lián)機)操作。
圖30表示完成了某個號(No)輸入數(shù)據(jù)的測試這樣情況下,測試部件操作的一個例子。在此例子中,當(dāng)程序執(zhí)行的輸出與正常輸出模式相匹配時,則認為程序是正常的。處理步驟1701-1704與圖27所示步驟5701-5704是相同的,當(dāng)測試數(shù)據(jù)已經(jīng)存入發(fā)送緩沖器以后(步驟1704),測試部件檢查用執(zhí)行程序所產(chǎn)生的輸出數(shù)據(jù)是不是與模塊屬性表中的輸出模式相匹配(步驟1705),如果沒有發(fā)生匹配的,就把輸出不正常檢測標(biāo)志置入模塊屬性表(步驟1706),然后,測試部件將測試-運行程序的輸入數(shù)據(jù)計數(shù)器增加1(步驟1707)。
接下來,測試部件就把計數(shù)器的內(nèi)容與予置值N2加以比較(步驟1708),如果其內(nèi)容在No之上(步驟1709),則檢查非正常檢測標(biāo)志,假如標(biāo)志指出沒有不正?,F(xiàn)象,那么就復(fù)位在模塊屬性表中的測試碼標(biāo)志(步驟1710)。
進一步的處理允許一個已裝入處理器內(nèi)的程序自動地在聯(lián)機環(huán)境下進行測試,只有當(dāng)測試證明是正常的情況下再進行聯(lián)機操作,而不是無條件將程序投入操作。
盡管在上述第4實施例中,測試程序和數(shù)據(jù)采集程序均是放置在處理器314中,這些程序也可以放在如何處理器,并且分別放在任意幾個處理器中進行測試。
盡管上述第4實施例中的公共傳輸路經(jīng)是單向循環(huán)傳輸線,任何其它數(shù)據(jù)傳輸介質(zhì)當(dāng)然也可以允許實施本發(fā)明。
如上所述,本發(fā)明可以使一個用分布方式聯(lián)接在網(wǎng)絡(luò)上的多個處理器,對一系列操作組成的作業(yè)進行處理的計算機系統(tǒng),能夠在(聯(lián)機)環(huán)境下,使用任何一個處理器測試某個剛開發(fā)出來的應(yīng)用程序,并且還能夠采集到該測試的結(jié)果。從而,使程序測試的效率得以改進。而且,本發(fā)明的測試方法還能使某個應(yīng)用程序的(聯(lián)機)操作,必須在用前面的測試證明是正常的以后才進行,進而提高了系統(tǒng)的可靠性。
權(quán)利要求
1.一種用于分布處理系統(tǒng)的測試方法。此系統(tǒng)通過網(wǎng)絡(luò)聯(lián)接,包括多個處理器,上述處理器互相獨立地操作。該方法由以下步驟顯示其特征判斷是否運行上述系統(tǒng)中的某個程序;當(dāng)測試-運行該程序時,獲得有關(guān)該程序的測試信息;根據(jù)上述測試信息進行測試。
2.一種用于分布處理系統(tǒng)的測試方法。此系統(tǒng)通過網(wǎng)絡(luò)聯(lián)接,包括多個處理器,上述各處理器都有一個存放程序的儲存器。作為上述程序的測試器,至少一個上述處理器操作時,該方法由以下幾個步驟顯示其特征判斷是否運行上述程序;從被測試-運行的上述程序中,接收測試信息;根據(jù)該測試信息進行測試。
3.根據(jù)權(quán)利要求
1,一種方法通過以下步驟顯示其特征當(dāng)按從其它處理器接收到的測試信息,已測試運行上述程序時,將該程序處理的結(jié)果發(fā)送到上述網(wǎng)絡(luò)中,并由上述其它處理器接收此結(jié)果,檢測該程序的異常情況。
4.根據(jù)權(quán)利要求
1,一種方法,其特征在于當(dāng)取出并處理測試數(shù)據(jù)時,各個上述處理器為了處理數(shù)據(jù)可有效地抑制與之相聯(lián)系的某輸入/輸出設(shè)備的輸入與輸出;但并不妨礙該輸入/輸出設(shè)備的操作。
5.根據(jù)權(quán)利要求
1,一種方法,其特征在于上述測試信息包括表示測試方式的信息及測試數(shù)據(jù)。
6.根據(jù)權(quán)利要求
5,一種方法,其特征在于上述表示測試方式的信息是附加在傳輸信息上的。
7.根據(jù)權(quán)利要求
1,一種方法,其特征在于該測試信息附屬于上述程序。
8.根據(jù)權(quán)利要求
1,一種方法,其特征在于上述測試信息適用于上述處理器。
9.一種用于分布處理系統(tǒng)的測試方法。該系統(tǒng)通過網(wǎng)絡(luò)聯(lián)接,包括多個處理器。上述各處理器均有一個存儲器存放處于測試的某個程序;另一個存儲器用來存放上述程序的測試標(biāo)志;以及完成測試的測試裝置;其特征在于當(dāng)任意一個處理器作為測試器進行工作,向上述網(wǎng)絡(luò)發(fā)送出附加測試標(biāo)志的數(shù)據(jù)時,上述各處理器根據(jù)該測試標(biāo)志辨別是測試數(shù)據(jù),還是一般數(shù)據(jù);如果上述網(wǎng)絡(luò)中的該數(shù)據(jù)識別是測試數(shù)據(jù),則上述測試裝置,從數(shù)據(jù)內(nèi)容中產(chǎn)生程序運行的數(shù)據(jù);用上述運行程序來執(zhí)行該程序;再次將執(zhí)行結(jié)果構(gòu)成測試數(shù)據(jù);并將上述構(gòu)成的測試數(shù)據(jù)發(fā)送到上述網(wǎng)絡(luò)中去。
10.根據(jù)權(quán)利要求
1,一種方法,其特征在于上述各處理器能有效地識別從上述網(wǎng)絡(luò)取出的數(shù)據(jù),是包含輸入值及正常輸出值的測試數(shù)據(jù);還是一般的數(shù)據(jù)。
11.根據(jù)權(quán)利要求
1,一種方法,其特征在于當(dāng)應(yīng)用測試數(shù)據(jù)執(zhí)行某個程序時,上述各處理器發(fā)送執(zhí)行結(jié)果,并將其送入網(wǎng)絡(luò)中,而不是把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)外部。
12.根據(jù)權(quán)利要求
1,一種方法,其特征在于上述測試裝置執(zhí)行一個程序,即利用取出的測試數(shù)據(jù),根據(jù)執(zhí)行結(jié)果的輸出值與上述測試數(shù)據(jù)該正常輸出值相比較的結(jié)果,來判斷上述程序正常還是不正常。
13.根據(jù)權(quán)利要求
1,一種方法,由上述各處理器執(zhí)行下列步驟表示其特征找出裝進上述處理器的某應(yīng)用程序是否處在測試方式;用取出的數(shù)據(jù),產(chǎn)生測試-運行的結(jié)果數(shù)據(jù),作為執(zhí)行上述應(yīng)用程序的結(jié)果;如果上述應(yīng)用程序表明是處于測試方式,則將上述產(chǎn)生的數(shù)據(jù)發(fā)送到上述網(wǎng)絡(luò)上。
14.根據(jù)權(quán)利要求
13,一個方法,進一步以下列步驟表示其特征為處于測試方式的上述程序收集輸入數(shù)據(jù)和該輸入數(shù)據(jù)相對應(yīng)的測試結(jié)果數(shù)據(jù);并且相應(yīng)地顯示輸入數(shù)據(jù)和結(jié)果數(shù)據(jù)。
15.根據(jù)權(quán)利要求
13,一個方法,其特征在于對應(yīng)于在測試方式中的上述程序,上述各處理器均有一個予置輸出模式,上述方法進一步還包括以下步驟比較上述測試結(jié)果與上述輸出模式;以及隨著比較結(jié)果,而相應(yīng)釋放該處理器。
16.一種分布處理系統(tǒng)的測試系統(tǒng)。該分布處理系統(tǒng)通過網(wǎng)絡(luò)聯(lián)接,包括多個處理器,各個上述處理器均互相獨立地運行。其特征在于至少有一個上述處理器作為測試器進行工作,該處理器包括如下裝置判斷上述系統(tǒng)中的某個程序是否處于測試-運行的裝置;當(dāng)上述程序在測試-運行時,獲得與該程序有關(guān)的測試信息的裝置;以及根據(jù)上述測試信息,執(zhí)行測試的裝置。
17.根據(jù)權(quán)利要求
16,一個系統(tǒng),其特征在于上述各處理器包括下列裝置,從其它處理器接收到測試信息引起測試-運行上述程序,與之相應(yīng)地把上述程序執(zhí)行的結(jié)果發(fā)送到上述網(wǎng)絡(luò)中去的裝置;上述測試處理器里還包括接受上述結(jié)果的裝置和測定上述程序異常情況的裝置。
專利摘要
一個分布式處理系統(tǒng),該系統(tǒng)經(jīng)網(wǎng)絡(luò)將分散的處理機互相聯(lián)在一起而不必使用控制整個系統(tǒng)的控制處理機,這些分布式處理機執(zhí)行一系列的處理。由任一個處理機產(chǎn)生測試信息,帶有儲存被測試程序的存儲器的每個處理機,根據(jù)測試信息決定該程序是否要測試一運行,若執(zhí)行測試一運行,必要時就將測試一運行程序的結(jié)果輸出到網(wǎng)絡(luò)中。
文檔編號G06F11/22GK86105373SQ86105373
公開日1987年3月11日 申請日期1986年8月29日
發(fā)明者森欣司, 鈴木靖雄, 河野克己, 織茂昌之, 小泉稔, 竺廣和, 中井耕三 申請人:株式會社日立制作所導(dǎo)出引文BiBTeX, EndNote, RefMan
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绍兴市| 于田县| 张家川| 陇川县| 漳浦县| 辉南县| 仁化县| 门源| 玛纳斯县| 兰溪市| 灯塔市| 清新县| 栖霞市| 临武县| 深水埗区| 乌兰察布市| 平江县| 泌阳县| 鄱阳县| 壶关县| 嘉黎县| 通榆县| 秭归县| 城固县| 沁源县| 绥德县| 炎陵县| 德江县| 隆尧县| 隆化县| 铜鼓县| 枝江市| 双辽市| 石嘴山市| 离岛区| 柳州市| 闻喜县| 长春市| 义乌市| 青龙| 英吉沙县|