新四季網

程序跟蹤裝置的製作方法

2023-09-12 10:59:30

專利名稱:程序跟蹤裝置的製作方法
技術領域:
本發明涉及用於分布式系統中的動作解析的程序跟蹤裝置。
背景技術:
有這樣一種分布式系統,該分布式系統將搭載了微型計算機、處理器等的編入設備(built-in)、計算機系統通過網絡進行連接,分別經由網絡相互進行數據通信,並分散進行規定處理。在單個的編入設備或者計算機系統的動作解析中,通過嵌入向程序上輸出日誌的模塊可以進行動作解析。在分布式系統的動作解析中,多個編入設備、計算機系統協調動作,因此,即使從各個編入設備、計算機系統輸出日誌,進行系統整體的動作解析也是困難的。另外,由於日誌的信息量變得龐大,產生數據的保存區域的龐大化等問題。在這樣的分布式系統中,在用於進行系統整體的動作解析的日誌(以下,稱為跟蹤 數據)的取得方法中,已知有例如如下的技術。首先,在為了執行作為跟蹤對象的處理而收發的消息中附加控制跟蹤的數據(跟蹤控制數據),只在處理由跟蹤控制數據指示了實施跟蹤的消息時進行跟蹤。另外、在編入設備、計算機系統中,有時對由某個接收消息引起而從任務送出的消息中移交該接收消息的跟蹤控制數據。由此,在跨越多個節點並行地進行的多個處理中,可以只限於與跟蹤對象處理相關的程序取得日誌(例如,參照專利文獻I)。專利文獻I :日本特開平7-93182號公報(第4頁、第7圖)

發明內容
但是,在專利文獻I中,分布式系統中的全部的編入設備、計算機系統分別保存跟蹤數據,因此,分別需要存儲區域。因此,無法適用在包含沒有存儲區域或者不能確保充分容量的存儲區域的編入設備等的分布式系統中。另外、為了分布式系統整體的動作解析,需要集中在各自的編入設備、計算機系統中保存的跟蹤數據。本發明是為了解決上述那些問題而完成的,第一個目的在於得到也可以適用於如下分布式系統的程序跟蹤裝置,該分布式系統包含沒有存儲區域或者不能確保充分的存儲區域的編入設備等。第二個目的在於,得到在由多個編入設備、計算機系統構成的分布式系統中將跟蹤數據集約在一個編入設備或者計算機系統中來保存的程序跟蹤裝置。本發明所涉及的程序跟蹤裝置進行分布式系統的動作解析,在該分布式系統中,具備連接到網絡的多個執行單元,所述多個執行單元分別經由所述網絡對其他執行單元收發消息,並執行規定的處理,其中,作為所述多個執行單元中的一個的主執行單元具備第一應用程式部,生成包含所述規定的處理的執行指示數據的第一數據;ID附加部,對所述第一數據附加對每個所述執行指示數據的處理內容預先分配了的消息ID ;CPU間通信次數附加部,對所述第一數據附加CPU間通信次數的規定的初始值;錯誤狀態檢測部,將接收的所述消息中的CPU間通信次數與進行了正常的處理的情況下的規定的值進行核對,由此檢測出從所述主執行單元發送所述消息開始至接收經由所述多個執行單元的所述消息為止的處理中發生了錯誤;以及跟蹤數據保存部,根據所述錯誤狀態檢測部的檢測結果,從接收的所述消息抽取跟蹤數據並保存,作為所述多個執行單元中的除了所述主執行單元以外的單元的從執行單元具備第二應用程式部,基於接收的所述消息中的所述執行指示數據執行規定的處理並生成第二數據;以及CPU間通信次數更新部,對所述第二數據更新並設定所述消息中的所述CPU間通信次數。根據本發明,在包含沒有存儲區域或者不能確保充分存儲區域的編入設備等的分布式系統中,也可以得到可以適用的程序跟蹤裝置。另外,可以得到在由多個編入設備、計算機系統構成的分布式系統中將跟蹤數據集約在一個編入設備或者計算機系統中來保存的程序跟蹤裝置。


圖I是本發明的實施方式I中的分布式系統的程序跟蹤裝置的結構圖。
圖2(a)是表示在本發明的實施方式I中的各執行單元之間進行交換的消息數據的流向的時序圖。(b)是表示在本發明的實施方式I中的各執行單元之間進行交換的消息的數據構造的圖。圖3是本發明的實施方式I中的正常動作時通信次數表510的結構圖。圖4是本發明的實施方式I中的錯誤狀態檢測部140以及跟蹤數據保存部150的處理流程圖。圖5是表示本發明的實施方式I中的跟蹤數據例子的圖。圖6是表示本發明的實施方式2中的正常動作時通信次數表510的結構例子的圖。圖7是本發明的實施方式2中的錯誤狀態檢測部140以及跟蹤數據保存部150的處理流程圖。圖8是本發明的實施方式3中的程序跟蹤裝置的結構圖。圖9(a)是表示在本發明的實施方式3中的各執行單元之間進行交換的消息數據的流向的時序圖。(b)是表示本發明的實施方式3中的消息數據的數據構造的圖。圖10是本發明的實施方式4中的程序跟蹤裝置的結構圖。圖11是本發明的實施方式4中的消息數據的結構圖。圖12是本發明的實施方式5中的程序跟蹤裝置的結構圖。圖13是本發明的實施方式5中的程序跟蹤裝置的結構圖。圖14是本發明的實施方式5中的從觸發處理部290a以及CPU間通信次數更新部260a的處理流程圖。圖15是表示在本發明的實施方式5中的各執行單元之間進行交換的消息數據的流向的時序圖。(附圖標記說明)100 :主執行單元;110、210a、210b :應用程式部;120 ID附加部;130 =CPU間通信次數附加部;140 :錯誤狀態檢測部;150 :跟蹤數據保存部;200a、200b :從執行單元;260a、260b CPU間通信次數更新部;270a、270b :通信次數錯誤判定部;280a、280b :CPU標識符附加部;290a、290b :從觸發處理部;400 :網絡;500、600 :緩衝器(緩衝器,buffer) ;510 :正常動作時通信次數表;610 :跟蹤數據;700 :跟蹤觸發控制部。
具體實施例方式實施方式I圖I表示用於實施本發明的實施方式I中的分布式系統的程序跟蹤裝置的結構。如該圖所示,分布式系統中多個執行單元100、200a、200b被連接到網絡400。設將一個執行單元稱為主執行單元100,而將除此之外的執行單元稱為從執行單元。在圖I中示出連接兩個從執行單元200a以及200b的結構例子。但是並不局限於這個結構。換句話說,只要是除了主執行單元100以外作為從執行單元連接一個以上的結構即可。另外,這在以下所有的實施方式中也是相同的。在此為了說明的方便,如圖I所示,示出作為從執行單元連接200a、200b的結構例子。
在本實施方式中的分布式系統中作為對象的是,主執行單元100發送作為對從執行單元200a、200b分別指示跟蹤處理的觸發的消息數據,在針對所指示的跟蹤處理的最終處理完成時,向主執行單元100回復消息數據。設將主執行單元成為跟蹤處理的觸發的處理稱為主觸發處理。本發明中的執行單元是指,具有設計了一個以上的順序控制功能等的應用程式部,並基於輸入的執行指示來執行規定的處理的單元。它是指例如搭載了順序控制專用的微型計算機的編入設備或者計算機系統。主執行單元100內置了存儲正常動作時通信次數表510以及跟蹤數據610的緩衝器(存儲區域)500以及600。或者,主執行單元100也可以具有與用於存儲正常動作時通信次數表510以及跟蹤數據610的緩衝器的接口。另一方面,從執行單元200a、200b是搭載了順序控制專用的微型計算機的編入設備等為了進行規定的處理而必要的區域的存儲區域以外沒有多餘的存儲區域,或者存儲容量中沒有餘量的單元。另外,網絡400是指使用了依照IEEE1394標準的串行總線的網絡、以LAN和WAN為代表的連接多個計算機的計算機網絡等。其次,說明主執行單元100的結構。主執行單元100包含應用程式部110、ID附加部120、CPU間通信次數附加部130、錯誤狀態檢測部140、跟蹤數據保存部150、具有正常動作時通信次數表510的緩衝器(存儲區域)500、保存跟蹤數據610的緩衝器(存儲區域)600。另外、主執行單元100中具備未圖示的通信接口,並經由網絡400收發消息。應用程式部110發布包含向從執行單元200a、200b的執行指示數據的應用程式數據(第一數據)。ID附加部120對從應用程式部110發布的第一數據附加消息ID。另外,CPU間通信次數附加部130對ID附加部120的輸出附加規定的初始值作為CPU間通信次數。接著,主執行單元100將消息數據經由通信接口發送至網絡400上。錯誤狀態檢測部140根據主執行單元100經由網絡400接收的消息數據中包含的CPU間通信次數,參照正常動作時通信次數表510來判定CPU間通信次數是否正常。這裡,在正常動作時通信次數表510中,預先與消息ID相對應地保持執行了正常動作的情況下的通信次數(正常動作時通信次數)。跟蹤數據保存部150根據錯誤狀態檢測部140的判定結果從主執行單元100接收的消息抽取跟蹤數據610,並保存到緩衝器600。執行指示數據是與該分布式系統中的處理執行相關的信息。在執行指示數據中包含例如與成為對象的執行單元相關的信息、指出該執行單元所具有的應用程式部中的處理內容的信息和進行該處理時使用的自變量的信息、數據等。它也可以是例如為了執行各執行單元中的規定的處理而定義的程序中的函數名、順序號等、以及進行那些處理時使用的自變量的信息、數據等。另外,消息ID是針對應用程式部110發布的第一數據,與該數據具有的處理內容相對應起來的。這關於即使是相同的處理內容也會根據自變量等附帶的數據而正常動作時的通信次數不同的情況,設為分別不同的消息ID。消息ID可以是單純的編號,也可以是示出表示處理內容的函數名等的字符串等。正常動作時通信次數表510存儲在緩衝器500中,而跟蹤數據隨時保存在緩衝器600中。這些緩衝器500以及600也可以在硬碟、閃速存儲器、存儲卡、DVD等外部存儲裝置內構成。或者,也可以使用主執行單元100搭載的處理器所內置的存儲器。其次,說明從執行單元200a、200b的結構。從執行單元200a包含第二應用程式部210a,基於接收的消息數據的執行指示數據執行規定的處理,並輸出應用程式數據(第二 數據);以及CPU間通信次數更新部260a,發送向所述第二數據附加了該消息ID和對該CPU間通信次數作為規定值加上I而更新的CPU間通信次數的消息數據。同樣地,從執行單元200b由基於接收的消息數據的執行指示數據執行規定的處理,並輸出第二數據的第二應用程式部210b,以及發送向所述第二數據附加了該消息ID和對該CPU間通信次數作為規定值加上I而更新的CPU間通信次數的消息數據的CPU間通信次數更新部260b構成。在圖2(a)中舉例說明示出本實施方式的結構中各執行單元之間進行交換的消息數據的流向的時序。另外,該圖(b)中示出消息的數據構造。以下,沿該時序圖的流向說明抽取本實施方式跟蹤數據的動作。首先,主執行單元100的應用程式部110生成並輸出具有執行指示數據的第一數據(Datal)。其次,在ID附加部120中對第一數據附加與處理內容相對應的消息ID。此處,作為附加單純的編號作為消息ID的例子,附加(I)。進一步地,在CPU間通信次數附加部130中,對附加了消息ID的第一數據附加規定的初始值,例如I,來作為CPU間通信次數。將該附加了消息ID和CPU間通信次數的初始值的第一數據作為消息數據發送到網絡400上。設將該消息數據中的消息ID和CPU間通信次數的組合表示成(消息ID、CPU間通信次數)=(1、1)。作為該消息數據的發送目的地的執行單元的從執行單元200a進行接收,並由應用程式部210a進行規定的處理。在該處理完成並經由網絡400向主執行單元100發送第二數據(Data2)時,由CPU間通信次數更新部260a將接收的該消息ID (I)和對接收的該CPU間通信次數(I)作為規定值加上I來更新CPU間通信次數而發送到執行單元100。此時,成為(消息ID、CPU間通信次數)=(1、2)。另外,作為與上述不同的處理,進行從執行單元200a對其它的從執行單元200b經由網絡400進行通信時的說明。這種情況下,對由應用程式部210a生成的第二數據(Data3)附加由CPU間通信次數更新部260a接收的該消息ID( I)。另外、對接收的該CPU間通信次數(I)作為規定值加上I來更新CPU間通信次數。接下來,將消息發送給從執行單元200b。此時,成為(消息ID、CPU間通信次數)=(I、2 )。從執行單元200b接收來自從執行單元200a消息數據,並由應用程式部210b進行規定的處理。在該處理完成並向從執行單元200a發送第二數據(Data4)之前,由CPU間通信次數更新部260b附加所接收的消息中的消息ID (I)。進一步地,對接收的消息中的CPU間通信次數(2)作為規定值加上I來更新CPU間通信次數。接下來,經由網絡400發送給從執行單元200a。此時,成為(消息ID、CPU間通信次數)=(1、3)。從執行單元200a接收來自從執行單元200b的消息數據,並由應用程式部210a進行規定的處理。作為此處的應用程式部210a中的處理,在某個處理中將第二數據(Data5)發送給主執行單元100,在與其不同的處理中將第二數據(Data6)發送給主執行單元100的情況下,哪一個都是由CPU間通信次數更新部260a更新的CPU間通信次數成為4 (消息ID、CPU間通信次數)=(1、4)。也就是說,即使是在應用程式部210a的處理內容不同的情況下,消息ID以及CPU通信次數也成為相同的值。像這樣,不依賴於應用程式部210a的處理內容,傳遞所發送的消息ID,並傳遞每次在執行單元中接收時依次更新了 CPU通信次數的消息數據。另外,在主執行單元100從應用程式部110新生成具有執行指示數據的第一數據 (Data7)的情況下,在ID附加部120中,對第一數據附加消息ID (2)並進行與上述同樣的處理。圖3中示出正常動作時通信次數表510的結構例子。正常動作時通信次數表510存儲如下次數作為正常動作時通信次數在進行分布式系統的動作解析時對消息ID正常地實施了通信的情況下作為直到返回到主執行單元100為止的通信次數是正確的次數。在圖3中示出,例如在消息ID是I的處理中,對主執行單元100從其它的從執行單元進行發送時的通信次數有2或者4的情況。同樣地,示出在消息ID是2的處理中,對主執行單元100從其它的從執行單元進行發送時的通信次數有2或者6的情況。分配給第一數據的消息ID和處理內容是預先唯一地確定而設計的,並按照上述設計的規格,準備消息ID和與其相對應的正常動作時的通信次數的表。圖4中示出主執行單元100接收來自其它的執行單元的消息時的錯誤狀態檢測部140以及跟蹤數據保存部150的處理流程。主執行單元100接收從從執行單元發送的消息(步驟ST010),接下來,錯誤狀態檢測部140從正常動作時通信次數表510取得與接收的消息數據中存在的消息ID相對應的正常動作時通信次數(步驟ST020)。接下來,錯誤狀態檢測部140判定在接收的消息中的CPU間通信次數是否與在步驟ST020中取得的正常動作時通信次數相應(在有多個值的情況下,與其中任何一個一致),並輸出Yes還是No的判定結果(步驟ST030)。這裡,Yes意味著接收的消息數據中的CPU間通信次數與在步驟ST020中取得的正常動作時通信次數相應,而No則表示不相應。錯誤狀態檢測部140,如果步驟ST030的結果是Yes,則向應用程式部110提供所接收的消息數據中的數據(步驟ST060)。另一方面,如果步驟ST030的結果是No,則判定為有錯誤並向跟蹤數據保存部150通知有錯誤(步驟ST040)。跟蹤數據保存部150,在有錯誤時,根據接收的消息數據和正常動作時通信次數表510中存儲的與該消息ID相對應的正常動作時通信次數,將動作解析中使用的信息作為跟蹤數據抽取並保存到緩衝器600中(步驟 ST050)。圖5示出跟蹤數據的例子。如該圖所示,保存接收的消息數據的CPU間通信次數、該消息數據中的應用程式數據、消息ID、正常動作時通信次數。也可以不將這些全部作為跟蹤數據保存,例如,將消息內的數據除去等來削減保存的信息量。接下來,與步驟ST030的結果是Yes的情況相同,向應用程式部110提供所接收的消息數據中的數據(步驟ST060)。如果按照本實施方式,可以只在主執行單元100中進行對象的處理流程是否按正常的通信次數被處理的判定,根據該判定結果和主執行單元100接收的消息數據抽取跟蹤數據並保存。因此,能夠在主執行單元100中將跟蹤數據集約並保存,達到從執行單元不需要有保存跟蹤數據的存儲區域的效果。進一步地,將跟蹤數據集約並保存,因此省去每次在動作解析時都將多個跟蹤數據集中的麻煩。實施方式2在實施方式I中,由ID附加部120附加與第一數據的處理內容相對應的消息ID,正常動作時通信次數表510準備了與消息ID相對應的CPU間通信次數,但是在實施方式2中,取代消息ID,將每當發布第一數據時分配的順序號由ID附加部120附加,作為跟蹤數據將順序號包含在保存對象中。
本實施方式中的程序跟蹤裝置的結構與由圖I示出的結構相同。在本實施方式中,每當應用程式部110發布第一數據時,ID附加部120分配分別獨立的順序號並附加。另外,正常動作時通信次數表510中對每個消息ID存儲該順序號。設順序號是例如從I開始按編號順序設定。另外,該順序號只要是對各消息ID分別獨立並且可以判別執行順序即可。因此,不限於從I開始分配編號,也可以是與當前時刻、經過時間等匹配地設定的方法。由圖6示出本實施方式中的正常動作時通信次數表510的結構例子。如該圖所示,除了與消息ID相對應地保持的正常動作時通信次數之外,還設置了存儲針對該消息ID附加的順序號的區域,此處存儲ID附加部120附加的順序號。在本實施方式中,向消息數據附加的是順序號而取代消息ID,因此,在從執行單元200a、200b中,CPU間通信次數更新部260a或者260b向應用程式部210a或者210b生成的第二數據附加所接收了的消息中的順序號。進一步地,發送附加了向接收了的消息中的CPU間通信次數作為規定值加上例如I來更新了的CPU間通信次數的消息數據。由圖7示出主執行單元100從其它的從執行單元接收消息數據時的錯誤狀態檢測部140以及跟蹤數據保存部150的處理流程。主執行單元100接收從從執行單元發送了的消息(步驟ST110),錯誤狀態檢測部140從正常動作時通信次數表510取得與接收了的消息中的順序號相對應的正常動作時通信次數(步驟ST120)。接下來,將相應的順序號從正常動作時通信次數表510中刪除(步驟ST130)。通過將相應的順序號從正常動作時通信次數表510中刪除,產生可以不使正常動作時通信次數表510的存儲區域冗餘地增加的效果。接下來,錯誤狀態檢測部140判定在接收了的消息中的CPU間通信次數是否與在步驟ST120中取得的正常動作時通信次數相應,並輸出Yes還是No的判定結果(步驟ST140)。關於以下的步驟ST14(TST170,與在實施方式I中的圖4的步驟ST03(TST060是相同的。也就是說,如果步驟ST140的結果是Yes,則錯誤狀態檢測部140向應用程式部110提供在接收的消息數據中的數據(步驟170)。另一方面,如果步驟ST140的結果是No,則判定為有錯誤並向跟蹤數據保存部150通知有錯誤(步驟ST150)。跟蹤數據保存部150在有錯誤時從接收的消息數據和正常動作時通信次數表510中存儲的與該消息ID相對應的正常動作時通信次數中抽取在動作解析中使用的信息作為跟蹤數據並保存到緩衝器600(步驟 ST160)。此處,作為跟蹤數據保存接收的消息數據的CPU間通信次數、應用程式數據、消息ID、順序號、正常動作時通信次數。也可以不將這些都作為跟蹤數據保存,例如,將應用程式數據除去等來削減保存的信息量。根據本實施方式,與實施方式I相同地,可以只在主執行單元100中進行對象的處理流程是否按正常的通信次數被處理的判定,並從該判定結果和主執行單元100接收的消息數據中抽取跟蹤數據並保存。因此,能夠在主執行單元100中 使跟蹤數據集約並保存,可以達到不需要在從執行單元中具有保存跟蹤數據的存儲區域的効果。進一步地,跟蹤數據被集約保存,因此達到省去每次動作解析時都將多個跟蹤數據集中的麻煩的效果。另外,不是與處理內容相對應的消息ID,而是將每次在進行執行指示數據的發布時分配並附加了順序號的消息數據進行通信。因此,在主執行單元100接收的消息數據的CPU間通信次數和與相應的處理內容相對應的正常動作時通信次數不相應的情況下,保存包含了順序號的跟蹤數據。由此,在動作解析時根據順序號的信息以時間序列掌握有錯誤的處理變得容易,因此,可以更明確地掌握在哪個定時發生了錯誤,並能夠進行更詳細的動作解析。實施方式3.在以上的實施方式中,在主執行單元100中的CPU間通信次數附加部130中,作為CPU間通信次數附加例如初始值I,在從執行單元中的CPU間通信次數更新部(260a或者260b)中,對接收的消息中的CPU間通信次數作為規定值加上I來更新CPU間通信次數。在本實施方式中,將與消息ID相對應的正常動作時通信次數之中的最大的次數設為初始值,在從執行單元中的CPU間通信次數更新部中減去I來更新CPU間通信次數。由圖8示出本實施方式中的程序跟蹤裝置的結構。另外,在圖8中與實施方式I的圖I相同的符號的部分分別相當於實施方式I的相同的符號的部分,因此將該說明省略。另外,在本實施方式中,對各執行單元分配分別獨立的CPU標識符。關於CPU標識符,例如,關於主執行單元100設為100,從執行單元200a、200b分別設為200a、200b。主執行單元100的CPU間通信次數附加部130從正常動作時通信次數表510讀出與由ID附加部120附加的消息ID相對應的正常動作時通信次數,並發送附加了讀出的正常動作時通信次數中的最大次數作為CPU間通信次數的初始值的消息數據。由此,進行正常通信時的消息數據中的CPU間通信次數總是成為O以上的值。關於從執行單元的結構,將從執行單元200a作為例子進行說明。以下的動作在其它的從執行單元(例如,從執行單元200b )中也是相同的。在從執行單元200a中,除了實施方式I中的圖I的結構以外,還具有通信錯誤判定部270a。通信次數錯誤判定部270a判定所接收的消息中的CPU間通信次數是否是O以上。如果CPU間通信次數是O以上,則向應用程式部210a按原樣提供該消息數據(或者只是應用程式數據)。另一方面,在CPU間通信次數是負值的情況下,判定為在該時刻處理沒有正常動作,在消息數據中附加自己的執行單元(即,從執行單元200a)的CPU標識符和發送該消息數據的執行單元的CPU標識符,並發送給主執行單元100。這種情況下,處理沒有正常動作,因此沒有必要向從執行單元200a的應用程式部210a提供該消息數據(或者應用程式數據)。另外,在將CPU間通信次數以例如4bit的二進位數的2的補數(compIement)表現的方式給出的情況下,將-I表現為(1111),如果看最高位bit,則可以容易地判定CPU間通信次數在10進位數形式下是負值。由圖9(a)示出表示在各執行單元之間交換的消息數據的流向的時序圖的例子。另外,在該圖(b)中,在從執行單元200a中的通信次數錯誤判定部270a中,將判定為錯誤的情況下的消息數據的數據構造和數據例子一起表示。在圖9(a)中,舉例說明從執行單元200a從從執行單元200b作為第二數據收到(0&七&9)時的動作(圖9(幻的空心箭頭的部分)。此時,通信次數錯誤判定部270b根據接收 的消息中的CPU間通信次數是-I即負值判斷為在該時刻處理不是正常動作。另外,在消息數據中附加自身的CPU (即從執行單元200b)的CPU標識符即200b和作為發送該消息數據的執行單元的從執行單元200a的標識符即200a,並發送給主執行單元100。圖9 (b)示出判定為錯誤時的數據的一個例子。主執行單元100接收從從執行單元200a、200b發送的消息。主執行單元100中的錯誤狀態檢測部140在接收的消息數據的CPU間通信次數是O以上的情況下,向應用程式部110提供接收的消息數據(或者應用程式數據)。另一方面,在CPU間通信次數是負值的情況下,向跟蹤數據保存部150通知有錯誤。跟蹤數據保存部150將接收的消息數據和正常動作時通信次數表510中存儲的與該消息的消息ID相對應的正常動作時通信次數作為跟蹤數據610抽取並保存到緩衝器600中。作為跟蹤數據610的例子,除了接收的消息數據的CPU間通信次數、應用程式數據、消息ID、正常動作時通信次數之外,還保存檢測出錯誤的執行單元的CPU標識符和發送源CPU標識符。也可以不將這些全部作為跟蹤數據保存,例如,將應用程式數據除去等來削減保存的信息量。由此,在各執行單元中進行CPU間通信次數的錯誤判定,根據檢測到錯誤的CPU編號可以確定相應的執行單元,因此,在分布式系統的動作解析中,錯誤發生位置的確定變得容易,能夠取得錯誤發生時的更詳細的跟蹤數據。在本實施方式中也可以得到與實施方式I以及2相同的效果。實施方式4圖10示出實施方式4中的程序跟蹤裝置的結構。另外,圖10中與實施方式I中的圖I相同的符號的部分分別相當於實施方式I的相同的符號的部分,因此將該說明省略。另外,在本實施方式中,和實施方式3相同地,對各執行單元分配分別獨立的CPU標識符。除了實施方式I中的圖I的結構,在各從執行單元200a、200b中還具備CPU標識符附加部280a、280b。在從執行單元200a、200b中,各自中的應用程式部210a、2IOb在輸出第二數據之後,在CPU標識符附加部280a、280b中按順序附加該執行單元的CPU標識符。圖11示出該情況下的消息數據的結構。如該圖所示,在消息中,除了 CPU間通信次數、消息ID、應用程式數據之外,還附加了 CPU標識符I、CPU標識符2、……、PU標識符n (CPU標識符η表示附加的最終的CPU標識符)的信息。在該圖中的CPU標識符f η的括號中示出附加的CPU標識符信息的例子。此時,在主執行單元100的錯誤狀態檢測部140判定為錯誤的情況下,作為跟蹤數據保存部150抽取的數據,除了實施方式I的跟蹤數據之外,還保存對消息數據附加的消息所經由的CPU編號的信息。通過保存以上所述的跟蹤數據,能夠追蹤在錯誤發生時所經由的執行單元的經過信息,因此作為分布式系統的動作解析,能夠進行更詳細的解析。本實施方式也可以適用於如實施方式2那樣使用順序號的程序跟蹤裝置中,在這種情況下也可以達到和本實施方式相同的效果。根據本實施方式,除了得到能夠追蹤上述的錯誤發生時所經由的執行單元的經過信息的效果,還可以得到實施方式I以及2中的効果。 實施方式5在以上的實施方式廣4中,主執行單元100成為跟蹤執行的觸發(主觸發處理)。在本實施方式中示出在從執行單元成為跟蹤執行的觸發的情況下也可以適用的程序跟蹤裝置的結構。此處,以下將從執行單元成為跟蹤執行的觸發,即,成為起動跟蹤的執行單元的情況稱為從觸發處理。從觸發處理在對例如特定的從執行單元以後的處理是否是正確的動作有疑問的情況下推進分布式系統的解析時成為有效。即,在判明了從主執行單元開始至上述特定的從執行單元跟前為止處理是正常的、或者確實的情況下,將對象縮小為該特定的從執行單元以後的動作的分布式系統的解析變得容易。另外,在本實施方式中,也和實施方式f 4相同地,以如下情形為對象由主執行單元100指示的、針對從執行單元的執行指示(針對應用程式部210a、210b等的指示)派生到各從執行單元,在它們的最終的處理完成的情況下,必定會向主執行單元100經由網絡400發送消息。由圖12示出本實施方式中的程序跟蹤裝置的結構。另外,在圖12中與實施方式I中的圖I相同的符號的部分分別相當於實施方式I的相同的符號的部分,因此將該說明省略。以下,舉例說明從執行單元200a。在從執行單元200a中,除了實施方式I中的圖I的結構,還具備從觸發處理部290a。從執行單元200a中的應用程式部210a與實施方式Γ4相同,基於在由其他的執行單元發送的消息中的應用程式數據(第一或者第二數據)來執行規定的處理並發布應用程式數據(第二數據)。在本實施方式中,設為在某一個從執行單元成為跟蹤的觸發的情況下,不進行主執行單元100成為觸發的跟蹤。這一點可以通過例如在用於實施對主執行單元100中的應用程式部110、從執行單元200a、200b中的應用程式部210a、210b等設定的執行指示的程序中,以能夠進行上述的排他處理的方式預先製作程序來實現。
或者,如圖13所示,也可以設置跟蹤觸發控制部700,該跟蹤觸發控制部700設定在分布式系統中由哪個執行單元進行跟蹤的觸發處理。也可以是該跟蹤觸發控制部700具備例如由顯示器、鍵盤等構成的輸入單元(未圖示),分布式系統的操作員通過該輸入單元設定作為跟蹤觸發的執行單元。或者,也可以是在跟蹤觸發控制部700中預先編入程序等並使該程序動作,由此設定作為跟蹤觸發的執行單元。另外,在圖13中示出了跟蹤觸發控制部700經由網絡400連接到各執行單元的結構例子,但是也可以是不經過網絡而連接到各執行單元。如上述那樣,在本實施方式中,在進行從觸發處理的情況下,不進行主觸發處理。因此,來自於主執行單元100的消息中不包含用於跟蹤的消息ID。在該情況下,由主執行單元100發送的是針對從執行單元200a、200b等的應用程式部210a、210b等的指示數據。在此,用於通信接口對網絡400收發應用程式數據或者消息的數據的網絡地址等是和本發明的實施方式1飛中的消息ID不同的信息。即,各執行單元間的通信功能不依賴於在本實施方式中敘述的消息ID來實現。 接下來,說明動作。以下,按照圖12進行說明,但是圖13的情況也是相同的。在圖12中,從觸發處理部290a接著應用程式處理部210a的處理來執行。由圖14示出從觸發處理部290a以及CPU間通信次數更新部260a的處理流程。從觸發處理部290a接著上述的應用程式處理部的處理來被起動(步驟ST200)。接下來,在步驟ST210中,本CPU、即、在該情況下是從執行單元200a判定是否為跟蹤執行的觸發。關於「本CPU是跟蹤執行的觸發」,例如,可以根據由所圖13所示的跟蹤觸發控制部700設定的信息知道。或者,除了使用跟蹤觸發控制部700的方法以外,可以根據在應用程式部210a生成的應用程式數據(第二數據)中的規定的位置中設定的標誌是ON或者OFF的信息來判斷(例如,預先確定ON是處理執行的觸發的意思)。或者,也有如下方法在從執行單元200中的應用程式部200a中將設定是處理執行的觸發的命令嵌入到規定的位置,並通過上述命令的執行將上述標誌設為ON或者OFF。或者,也有如下情況在從執行單元200a中具備由顯示器、鍵盤等構成的輸入單元,並根據來自進行分布式系統的操作的操作員的指令等輸入信息來指定是處理執行的觸發。進一步地,也可以是從主執行單元100通過基於消息等的通信來通知作為處理執行的觸發。如果步驟ST210的判定結果是Yes,則進入步驟ST220。在步驟ST220中,將預先分配給本CPU (即從執行單元200a)的消息ID附加到上述的應用程式數據(第二數據)中。接下來,附加CPU間通信次數的初始值(步驟ST230)。如果步驟ST210的判定結果是No,則本CPU不是觸發。在該情況下,有主執行單元100是跟蹤的觸發的情況、以及其他的從執行單元是跟蹤的觸發的情況這兩種情況。此處,關於哪一個執行單元都沒有成為觸發的情況,是本發明的對象外的情況,因此省略說明。首先,在主執行單元100成為跟蹤觸發處理的情況(主觸發處理)下,在步驟ST250中將接收的消息的消息ID附加到消息之後,向CPU間通信次數更新部260a提供消息。CPU間通信次數更新部260a在步驟ST260中與實施方式f 4相同地更新CPU間通信次CPU間通信次數。接下來,在其他的從執行單元進行從觸發處理的情況下,在來自於相應的從單元的消息中包含該從執行單元設定的消息ID以及CPU通信次數(參照步驟ST220、ST230)。因此,在步驟ST250、ST260中,與上述的主觸發處理的情況同樣地,將接收的消息的消息ID附加到消息(將接收的消息中的應用程式數據通過應用程式部210a製作的第二數據進行更新)中之後,由CPU間通信次數更新部260a更新CPU間通信次數。在步驟ST230、ST260中的任意一個的情況下,接下來都進入步驟T240,發布的消息經由通信接口被發送到網絡400 中。由圖15示出表示本實施方式中的、在從執行單元200a成為處理執行的觸發的情況下在各執行單元間交換的消息數據的流向的時序圖的例子。在該圖中,從執行單元200a成為處理執行的觸發。從從執行單元200a經過從執行單元200b、200a,向主執行單元100發送最終的消息並結束。此處,消息的數據構造可以使用與圖2(b)所示相同的結構。
如圖15的處理流程中看到的那樣,可知與實施方式I中的圖2所示的處理流程比較,作為跟蹤數據610成為保存對象的數據量可以進一步地削減。此處,在圖14的步驟ST220中,說明了附加分配給本CPU的消息ID的情況,但是,這可以通過在構成分布式系統的執行單元之間預先分配作為處理的觸發的情況下的消息ID來實現。或者,也可以由上述的跟蹤觸發控制部700設定。另外,也可以包含其他的執行單元使用的消息ID,在各執行單元中共有消息ID的分配信息。這種情況下,在圖14的步驟ST210中的判斷中可以利用該消息ID分配信息,能夠可靠地進行判斷。也就是說,例如,應用程式部210a生成的數據是更新了所接收的消息的應用程式數據得到的,如果包含已經分配給其他的執行單元的消息ID,則容易判定接收的消息是其他的執行單元成為觸發的消息。在正常動作時通信次數表510中也準備有如下信息在從執行單元成為觸發的處理中相對應的消息ID和向主執行單元100最後發送時的CPU間通信次數的信息。另外,本實施方式中的從執行單元200a的結構也可以關於全部的連接到分布式系統的從執行單元同樣地構成。由此,任意一個從執行單元都能進行從觸發處理,而能夠進行分布式系統的更精細的解析。或者,也可以選擇I個以上的幾個從執行單元設成與本實施方式中的從執行單元200a相同的結構。由此,可以是特定的從執行單元進行觸發處理,從而可以高效率地進行縮小為來自必要的從執行單元的處理的精細的解析。按照本實施方式,可以實現從執行單元是跟蹤的觸發的分布式系統的動作。另外,在本實施方式中,也可以在主執行單元100中將跟蹤數據集約保存。另外,可以縮小為在解析中必要的跟蹤數據來產生跟蹤數據並保存,能夠進行分布式系統的細緻的解析。進一步地,能夠進一步削減在跟蹤數據保存中必要的存儲區域。實施方式6在以上的實施方式中,在主執行單元100接收由其他的執行單元發送的消息數據時,通過錯誤狀態檢測部140,只保存消息數據的CPU間通信次數被判斷為不正確的消息的跟蹤數據。在本實施方式中,在主執行單元100中,在錯誤狀態檢測部140中不進行錯誤判定,而將接收的消息數據的跟蹤數據全部保存。
在主執行單元100中可以準備的緩衝器600的容量充分大的情況下,也可以採取這樣的結構。像這樣,在主執行單元100中不實施錯誤判定,通過將接收的消息數據的跟蹤數 據全部保存,用戶不管是否有錯誤發生而檢查主執行單元100接收的全部的消息,能夠詳細地解析分布式系統的動作,通過解析還包含正常時的動作的處理,可以提高系統的動作解析的精度。
權利要求
1.一種程序跟蹤裝置,該程序跟蹤裝置進行分布式系統的動作解析,在該分布式系統中,具備連接到網絡的多個執行單元,所述多個執行單元分別經由所述網絡對其他執行單元收發消息,並執行規定的處理,該程序跟蹤裝置的特徵在於, > 作為所述多個執行單元中的一個的主執行單元具備 第一應用程式部,生成包含所述規定的處理的執行指示數據的第一數據; ID附加部,對所述第一數據附加對每個所述執行指示數據的處理內容預先分配了的消息ID ; CPU間通信次數附加部,對所述第一數據附加CPU間通信次數的規定的初始值; 錯誤狀態檢測部,將接收的所述消息中的CPU間通信次數與進行了正常的處理的情況下的規定的值進行核對,由此檢測出從所述主執行單元發送所述消息開始至接收經由所述多個執行單元的所述消息為止的處理中發生了錯誤;以及 跟蹤數據保存部,根據所述錯誤狀態檢測部的檢測結果,從接收的所述消息抽取跟蹤數據並保存, 作為所述多個執行單元中的除了所述主執行單元以外的單元的從執行單元具備 第二應用程式部,基於接收的所述消息中的所述執行指示數據執行規定的處理並生成第二數據;以及 CPU間通信次數更新部,對所述第二數據更新並設定所述消息中的所述CPU間通信次數。
2.一種程序跟蹤裝置,其特徵在於 CPU間通信次數附加部針對每個消息ID,作為主執行單元向從執行單元發送具有所述消息ID的消息開始至接收所述消息為止的多個執行單元之間的通信次數,將正常的情況下的值即正常動作時通信次數中的最大的值設定為規定的初始值; CPU通信次數更新部將從執行單元接收的消息中的CPU間通信次數減I來更新; 錯誤狀態檢測部在接收的所述消息中的CPU間通信次數是負值的情況下,判定為錯誤。
3.根據權利要求項I所述的程序跟蹤裝置,其特徵在於, 主執行單元具備正常動作時通信次數表,該正常動作時通信次數錶針對每個消息ID,作為主執行單元向從執行單元發送具有所述消息ID的消息開始至接收所述消息為止的多個執行單元之間的通信次數,保持正常的情況下的值即正常動作時通信次數;以及 錯誤狀態檢測部在所述主執行單元接收所述消息時,將所述消息中包含的CPU間通信次數和所述正常動作時通信次數表中的針對所述消息中的所述消息ID的所述正常動作時通信次數進行核對,由此檢測發生了錯誤。
4.根據權利要求項2所述的程序跟蹤裝置,其特徵在於, 從執行單元具備通信次數錯誤判定部,該通信次數錯誤判定部在接收的消息中的CPU間通信次數是負值時判定為錯誤。
5.根據權利要求項4所述的程序跟蹤裝置,其特徵在於, 多個執行單元具有各自獨立的CPU標識符, 在通信次數錯誤判定部判定為錯誤時,對接收的消息附加作為向所述從執行單元發送所述消息的所述多個執行單元中的某一個的執行單元所具有的CPU標識符以及所述從執行單元所具有的(PU標識符並發送給主執行單元。
6.根據權利要求項I所述的程序跟蹤裝置,其特徵在於, 從執行單元具備從觸發處理部,該從觸發處理部判定是否進行從所述從執行單元起動跟蹤的從觸發處理,在判定為進行所述從觸發處理的情況下,對所述從執行單元中的第二應用程式部生成的第二數據附加預先分配給所述從執行單元的消息ID以及CPU通信次數的規定的初始值。
7.根據權利要求項6所述的程序跟蹤裝置,其特徵在於,具備 跟蹤觸發控制部,設定多個執行單元中的哪一個成為跟蹤執行的觸發。
全文摘要
為了得到在包含存儲區域的容量貧乏的編入設備、計算機的分布式系統中也可以適用的程序跟蹤裝置,主執行單元(100)具備ID附加部(120),在每個處理內容中附加預先分配了的消息ID;CPU間通信次數附加部(130),附加CPU間通信次數的規定的初始值;錯誤狀態檢測部(140),將接收的消息中的CPU間通信次數和進行了正常的處理的情況下的規定值進行核對,由此,檢測在直到主執行單元(100)接收為止的處理中發生了錯誤;跟蹤數據保存部(150),根據錯誤狀態檢測部(140)的檢測結果,從消息中抽取跟蹤數據並保存。從執行單元(200)具有CPU間通信次數更新部(260),將接收的消息中的CPU間通信次數進行更新並設定。
文檔編號G06F11/28GK102782658SQ20118001222
公開日2012年11月14日 申請日期2011年2月24日 優先權日2010年3月5日
發明者中川隆志, 山口喜久, 赤穗賢吾 申請人:三菱電機株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀