本發(fā)明涉及一種用于從輸入數(shù)據(jù)流生成輸出數(shù)據(jù)流的方法以及一種用于執(zhí)行該方法的系統(tǒng)、計(jì)算機(jī)程序和機(jī)器可讀的存儲介質(zhì)。
背景技術(shù):
de10332700a1公開了一種用于在具有至少兩個實(shí)施單元的處理器單元的至少兩個運(yùn)行模式之間轉(zhuǎn)換的方法,其特征在于,從第一運(yùn)行模式向第二運(yùn)行模式的變換通過如下方式來觸發(fā):由所述處理器單元訪問預(yù)先給定的存儲地址。
技術(shù)實(shí)現(xiàn)要素:
越來越多的數(shù)目的例如在高度自動化的駕駛領(lǐng)域中的應(yīng)用需要執(zhí)行如下計(jì)算,所述計(jì)算必須不僅滿足在安全完整性(英文“safetyintegrity”)方面的高要求而且滿足對性能要求的高要求。
在嵌入式安全性概念的領(lǐng)域中可能的措施是借助于基于硬件或者軟件的自測試來保證對計(jì)算的正確實(shí)施。然而對必要的計(jì)算單元本身的保護(hù)在此是復(fù)雜的。
盡管如此仍保障了安全的錯誤的高比例的另一可能性在于在多個具有連接在下游的用于保證計(jì)算完整性、即識別偏差的比較器的計(jì)算單元上多次實(shí)施計(jì)算。這里,用“安全的錯誤”來指或者是本身安全的(也就是說所述錯誤的出現(xiàn)沒有危險(xiǎn)的后果)或者是被探測到的錯誤。
為了確保計(jì)算單元的被提高的獨(dú)立性,所述計(jì)算單元可以在空間上被分開。接著,困難在于保證所述計(jì)算單元處理相同的數(shù)據(jù),因?yàn)榉駝t所述比較器診斷出錯誤。
此外,對傳輸錯誤、即對在所述計(jì)算單元之一上有錯誤地或不完整地被傳輸?shù)幕蛘呷笔У臄?shù)據(jù)包進(jìn)行處理也是必要的,因?yàn)檫@種錯誤可導(dǎo)致各個比較器錯誤,或者如果所述各個計(jì)算單元根據(jù)輸入數(shù)據(jù)改變所述計(jì)算單元的狀態(tài)(所謂的“持久性(persistenz)”),則可導(dǎo)致持續(xù)的錯誤并且借此導(dǎo)致總失靈(即導(dǎo)致強(qiáng)制轉(zhuǎn)變到安全狀態(tài))。根據(jù)傳輸錯誤的頻繁性,這可導(dǎo)致對可用性的強(qiáng)烈的限制。
本發(fā)明涉及一種具有獨(dú)立權(quán)利要求1所述的特征的方法和一種被構(gòu)造來實(shí)施該方法的系統(tǒng)。有利的擴(kuò)展方案是從屬權(quán)利要求的主題。
在第一方面,規(guī)定了一種用于從輸入數(shù)據(jù)流生成輸出數(shù)據(jù)流的方法,其中計(jì)算單元接收包括第一數(shù)據(jù)組的第一輸入數(shù)據(jù)流。此外還規(guī)定:所述計(jì)算單元從另一計(jì)算單元處接收第二元數(shù)據(jù),所述第二元數(shù)據(jù)描述了所述另一計(jì)算單元的第二輸入數(shù)據(jù)流的第二數(shù)據(jù)組,其中所述計(jì)算單元根據(jù)第二元數(shù)據(jù)來輸出或者不輸出所述輸出數(shù)據(jù)流的從所述第一數(shù)據(jù)組生成的輸出數(shù)據(jù)組。
第二元數(shù)據(jù)可以是關(guān)于是否存在第二數(shù)據(jù)組的信息,該詞“數(shù)據(jù)組”尤其是也可以以寬泛地理解的方式被理解為使得附帶包括空的數(shù)據(jù)組,使得例如在記錄(protokoll)中所述記錄的輸入數(shù)據(jù)流被布置在固定的光柵(raster)中,由于存在空的數(shù)據(jù)組,所述計(jì)算單元可以識別出數(shù)據(jù)組不存在。
接著,尤其是可以規(guī)定:尤其是當(dāng)且僅當(dāng)?shù)诙獢?shù)據(jù)說明第二數(shù)據(jù)組存在時,所述計(jì)算單元才輸出所述輸出數(shù)據(jù)流的從所述第一數(shù)據(jù)組生成的輸出數(shù)據(jù)組。
該方法有如下優(yōu)點(diǎn):計(jì)算單元可以以少的花費(fèi)來確定所述計(jì)算單元的輸入數(shù)據(jù)流與另一計(jì)算單元的輸入數(shù)據(jù)流是否一致。該方法尤其是只導(dǎo)致了非常小的附加的等待時間(latenz)。
在該方面的一特別靈活的擴(kuò)展方案中,可以規(guī)定一種用于從輸入數(shù)據(jù)流生成輸出數(shù)據(jù)流的方法。在這種情況下規(guī)定,計(jì)算單元有第一元數(shù)據(jù),所述第一元數(shù)據(jù)描述了該單元的第一輸入數(shù)據(jù)流的尤其是當(dāng)前隨附的、優(yōu)選地針對安全性經(jīng)檢查的第一數(shù)據(jù)組,并且其中所述計(jì)算單元從系統(tǒng)的另一計(jì)算單元接收第二元數(shù)據(jù),所述第二元數(shù)據(jù)描述了所述另一計(jì)算單元的第二輸入數(shù)據(jù)流的尤其是當(dāng)前隨附的、優(yōu)選地針對安全性經(jīng)檢查的第二數(shù)據(jù)組。
在這種情況下規(guī)定:所述計(jì)算單元根據(jù)第一數(shù)據(jù)與第二數(shù)據(jù)的比較的結(jié)果來輸出或者不輸出所述輸出數(shù)據(jù)流的從第一數(shù)據(jù)組生成的輸出數(shù)據(jù)組。
尤其是,所述第一或第二元數(shù)據(jù)可以是所述數(shù)據(jù)組的標(biāo)識碼或者所述數(shù)據(jù)組的內(nèi)容的散列(hash),或者也可以是關(guān)于是否存在所述數(shù)據(jù)組的信息。該詞“數(shù)據(jù)組”尤其是也可以以寬泛地理解的方式被理解為使得附帶包括空的數(shù)據(jù)組,使得例如在記錄中所述記錄的輸入數(shù)據(jù)流被布置在固定的光柵中,由于存在空的數(shù)據(jù)組,所述計(jì)算單元可以識別出數(shù)據(jù)組不存在。
基于此,可以特別簡單地實(shí)現(xiàn):如果,尤其是當(dāng)且僅當(dāng)描述了所述第一數(shù)據(jù)組的第一元數(shù)據(jù)等于描述了所述第二數(shù)據(jù)組的第二元數(shù)據(jù)時,所述計(jì)算單元才輸出所述輸出數(shù)據(jù)組,那么由所述計(jì)算單元輸出一致的數(shù)據(jù)流。
在具有特別好的最壞情況等待時間(worst-case-latenzzeit)的一特別有效的擴(kuò)展方案中可以規(guī)定:所述計(jì)算單元根據(jù)比較的結(jié)果從第一數(shù)據(jù)組產(chǎn)生輸出數(shù)據(jù)組,而且尤其是只有當(dāng)已經(jīng)決定也輸出所述輸出數(shù)據(jù)組時,才產(chǎn)生所述輸出數(shù)據(jù)組。
在一可替換的擴(kuò)展方案中可以規(guī)定,所述計(jì)算單元與比較的結(jié)果無關(guān)地從第一數(shù)據(jù)組產(chǎn)生第一輸出數(shù)據(jù)組。尤其是當(dāng)所述計(jì)算單元和所述另一計(jì)算單元時間上不同步地工作時,才可以在此實(shí)現(xiàn):所述第一計(jì)算單元還可以在執(zhí)行所述比較之前產(chǎn)生輸出數(shù)據(jù)組。但是,為了防止不一致的輸出數(shù)據(jù)流被輸出,應(yīng)該會制止(zurueckhalten)輸出數(shù)據(jù)組的輸出,直到接收到所述比較的結(jié)果。
通過該方法改善了最好情況等待時間(best-case-latenz),而使最壞情況等待時間惡化(verschleichtern)。其原因在于:該方法可能意味著,當(dāng)基于比較的結(jié)果決定不輸出該輸出數(shù)據(jù)組時,計(jì)算單元重新回到該計(jì)算單元曾在開始產(chǎn)生第一數(shù)據(jù)組之前的狀態(tài)。尤其是當(dāng)存在開頭所提及的持久性時,這才重要。
在另一方面,可以規(guī)定:計(jì)算單元將由所述計(jì)算單元產(chǎn)生的輸出數(shù)據(jù)流輸送給比較單元。經(jīng)此,尤其是當(dāng)也從另一計(jì)算單元給比較單元輸送由所述另一計(jì)算單元產(chǎn)生的輸出數(shù)據(jù)流時,可以特別簡單地執(zhí)行對冗余地被執(zhí)行的計(jì)算的檢驗(yàn)。
在本發(fā)明的另一方面,可以規(guī)定:計(jì)算單元將第一元數(shù)據(jù)傳輸給另一計(jì)算單元。因此,該方法變得特別可靠,因?yàn)橐虼怂隽硪挥?jì)算單元也被置于檢驗(yàn)其輸入數(shù)據(jù)流的狀態(tài)中。
在另一方面可以規(guī)定:所述計(jì)算單元和所述另一計(jì)算單元從相同的來源接收第一數(shù)據(jù)流和第二數(shù)據(jù)流。尤其是可以規(guī)定:所述來源的第一數(shù)據(jù)流和第二數(shù)據(jù)流作為相同的數(shù)據(jù)流被傳送到所述計(jì)算單元并且被傳送到所述另一計(jì)算單元。
在另一方面,本發(fā)明涉及一種具有至少兩個計(jì)算單元的系統(tǒng),其中所述計(jì)算單元中的至少一個被構(gòu)造來執(zhí)行按照本發(fā)明所述的方法的所有步驟。
該系統(tǒng)尤其是可以被構(gòu)造為使得所有計(jì)算單元、即尤其是被輸送以輸入數(shù)據(jù)流、從所述輸入數(shù)據(jù)流生成輸出數(shù)據(jù)流并且將輸出數(shù)據(jù)流輸送給比較器的所有計(jì)算單元,被構(gòu)造來執(zhí)行按照本發(fā)明所述的方法的所有步驟。
因此,在輸出數(shù)據(jù)流中缺少:因?yàn)楸容^的結(jié)果表明了在第一元數(shù)據(jù)與第二元數(shù)據(jù)之間的區(qū)別所以未被輸出的輸出數(shù)據(jù)組。然而,在所有計(jì)算單元的輸出數(shù)據(jù)流中都缺少該輸出數(shù)據(jù)組。因此,比較器沒有斷定所述計(jì)算單元之一中有錯誤。
在本發(fā)明的另一方面可以規(guī)定一種系統(tǒng),所述系統(tǒng)被設(shè)立來執(zhí)行該方法,其中計(jì)算單元將由所述計(jì)算單元產(chǎn)生的輸出數(shù)據(jù)流輸送給比較單元。在這種情況下,該系統(tǒng)可包括比較單元。該比較單元被設(shè)立為:當(dāng)由計(jì)算單元傳輸給該比較單元的輸出數(shù)據(jù)流不一致時才輸出錯誤報(bào)告(fehlermeldung)。接著,作為對該錯誤報(bào)告的響應(yīng),該系統(tǒng)例如可以被轉(zhuǎn)換到被保護(hù)的模式下,所述被保護(hù)的模式例如包括對輸出數(shù)據(jù)流的切斷。這種系統(tǒng)是特別安全的。
在本發(fā)明的另一方面,該系統(tǒng)可包括一種網(wǎng)絡(luò),通過所述網(wǎng)絡(luò)來交換元數(shù)據(jù)。該網(wǎng)絡(luò)尤其是可以被編制成環(huán)形架構(gòu)或者以中央節(jié)點(diǎn)來編制。這種網(wǎng)絡(luò)限制了在計(jì)算單元之間必要的連接的數(shù)目。這尤其是在所述計(jì)算單元的數(shù)目大時是有利的。
可替換地,該網(wǎng)絡(luò)可以被設(shè)立為使得通過廣播消息或組播消息來交換元數(shù)據(jù)。接著,該網(wǎng)絡(luò)尤其是可以是以太網(wǎng)。這減小了必要的點(diǎn)對點(diǎn)帶寬。
在另一方面,本發(fā)明涉及一種用于執(zhí)行該方法的計(jì)算機(jī)程序和一種機(jī)器可讀的在其上存儲有該計(jì)算機(jī)程序的存儲介質(zhì)。該方法例如可以在機(jī)動車中投入應(yīng)用。
附圖說明
附圖示例性地示出了本發(fā)明的特別有利的實(shí)施方式。
圖1示出了具有多個計(jì)算單元的系統(tǒng)的結(jié)構(gòu);
圖2示出了數(shù)據(jù)流的不同的實(shí)施方式;
圖3示出了按照一實(shí)施方式的按照本發(fā)明的系統(tǒng)的結(jié)構(gòu);
圖4示出了按照本發(fā)明的一實(shí)施方式的方法的流程;
圖5示出了按照本發(fā)明的另一實(shí)施方式的方法的流程。
具體實(shí)施方式
圖1示例性地示出了具有多個計(jì)算單元101、102、103的系統(tǒng)。來源100將包括數(shù)據(jù)組d1,d2,…,dn的輸入數(shù)據(jù)流傳送給所述計(jì)算單元101、102、103中的每個。計(jì)算單元101、102、103并行地處理所述數(shù)據(jù)組d1,d2,…,dn并且分別生成包括輸出數(shù)據(jù)組e1,e2,…,en的輸出數(shù)據(jù)流。不必限制到三個計(jì)算單元101、102、103。任意多個計(jì)算單元都可以相對應(yīng)地并聯(lián)地被采用。
在這種情況下,尤其是可以規(guī)定:分別從輸入數(shù)據(jù)流的數(shù)據(jù)組(例如d2)產(chǎn)生輸出數(shù)據(jù)流的輸出數(shù)據(jù)組(例如e1)。在這種情況下,在輸入數(shù)據(jù)流的數(shù)據(jù)組與輸出數(shù)據(jù)流的輸出數(shù)據(jù)組之間存在1:1對應(yīng)。計(jì)算單元101、102、103根據(jù)相同的計(jì)算規(guī)則并行地處理數(shù)據(jù)組d1,d2,…,dn。也就是說在沒有錯誤的情況下,所述計(jì)算單元101、102、103中的每個都被傳輸以相同的輸入數(shù)據(jù)流。在沒有錯誤的情況下,所生成的輸出數(shù)據(jù)流又是相同的,也就是說所述輸出數(shù)據(jù)流的各個輸出數(shù)據(jù)組分別是相同的。
例如通過計(jì)算單元101、102、103的附加的任務(wù)可能的是:所述計(jì)算單元101、102、103時間上不同步地工作。然而,保持在輸入數(shù)據(jù)流的數(shù)據(jù)組與輸出數(shù)據(jù)流的輸出數(shù)據(jù)組之間的1:1對應(yīng)。在沒有錯誤的情況下,在輸出數(shù)據(jù)流的輸出數(shù)據(jù)組之間存在1:1對應(yīng)。因而,相對應(yīng)地即使在時間上不同步時也在輸入數(shù)據(jù)流的數(shù)據(jù)組之間存在1:1對應(yīng)。
相應(yīng)的計(jì)算單元101、102、103將所述輸出數(shù)據(jù)流傳送給比較器104。比較器104檢驗(yàn):該比較器104從計(jì)算單元101、102、103接收的分別對應(yīng)的輸出數(shù)據(jù)組e1,e2,…,en是否相同。如果這是這種情況,則輸出相對應(yīng)的輸出數(shù)據(jù)組e1,e2,…,en。在沒有錯誤的情況下,以這種方式從由來源100所接收到的輸入數(shù)據(jù)流d1,d2,…,dn來確定輸出數(shù)據(jù)流e1,e2,…,en。通過由所述計(jì)算單元101、102、103進(jìn)行的冗余的計(jì)來保護(hù)計(jì)算結(jié)果、即所述輸出數(shù)據(jù)流e1,e2,…,en。
如果比較器104確定:在輸出數(shù)據(jù)流的位置上,該比較器104從計(jì)算單元101、102、103接收的對應(yīng)的數(shù)據(jù)組不相同,則推斷出:在所述計(jì)算單元101、102、103之一中存在錯誤,而且所述系統(tǒng)被轉(zhuǎn)換到被保護(hù)的模式下。如果該方法在機(jī)動車中被采用,則例如可以促使減小機(jī)動車的行駛速度或者停用使用了輸出數(shù)據(jù)組e1,e2,…,en的確定的危及安全的功能。
然而,也可能的是:所述計(jì)算單元101、102、103沒有錯誤地工作,并且在從來源100到所述計(jì)算單元101、102、103之一的傳輸線路中僅(例如暫時地)存在一個錯誤。如果不是數(shù)據(jù)組d2、而是由于在數(shù)據(jù)流的該位置上的數(shù)據(jù)損耗而沒有數(shù)據(jù)組或者一個有錯誤的數(shù)據(jù)組例如被傳送給計(jì)算單元102,則對應(yīng)的輸出數(shù)據(jù)組e2同樣是有錯誤的。接著,比較器會通過比較由計(jì)算單元101、102、103所接收的輸出數(shù)據(jù)組e2來確定所述輸出數(shù)據(jù)組e2不全是相同的,而且斷定在所述計(jì)算單元101、102、103之一中存在錯誤。
如果計(jì)算單元101、102、103根據(jù)所接收到的數(shù)據(jù)組、尤其是根據(jù)所述數(shù)據(jù)組d2而被轉(zhuǎn)換到確定的內(nèi)部狀態(tài),則在所描述的情況下,對數(shù)據(jù)組d2的錯誤的傳送會導(dǎo)致所述計(jì)算單元102被轉(zhuǎn)換到不同于計(jì)算單元101和103的內(nèi)部狀態(tài)。這可能導(dǎo)致:不僅由計(jì)算單元102生成的輸出數(shù)據(jù)組e2與由其它的計(jì)算單元101、103生成的輸出數(shù)據(jù)組有區(qū)別,而且隨后的輸出數(shù)據(jù)組與由其它的計(jì)算單元101、103生成的輸出數(shù)據(jù)組有區(qū)別。即使所有計(jì)算單元101、102、103都沒有錯誤地工作,由于所述所謂的持久性也會持續(xù)地?cái)喽ㄔ谒鲇?jì)算單元101、102、103之一有錯誤。
圖2示出了如這里可作為輸入數(shù)據(jù)流或輸出數(shù)據(jù)流出現(xiàn)的數(shù)據(jù)流的可能的結(jié)構(gòu)。以輸入數(shù)據(jù)流為例,用d1,d2,d3,...,dn來圖解說明所述數(shù)據(jù)流,然而該結(jié)構(gòu)對于輸出數(shù)據(jù)流可以是相對應(yīng)的。
圖2a示出了可能的第一結(jié)構(gòu)。該數(shù)據(jù)流包括具有可固定地預(yù)先給定的寬度(例如64位)的窗口。在每個所述窗口中,所述數(shù)據(jù)組d1,d2,d3,...,dn之一被傳送。通過放置在確定的窗口中,每個數(shù)據(jù)組都隱含地得到作為在該數(shù)據(jù)流中的第一、第二、第三……數(shù)據(jù)組的標(biāo)識。
圖2b圖解說明了在所述數(shù)據(jù)流的這樣的結(jié)構(gòu)的情況下的錯誤情況。在圖解說明的錯誤情況下,例如由于傳送錯誤而缺少第二數(shù)據(jù)組d2。但是,所有其余的數(shù)據(jù)組d1,d3,...,dn依然被布置在它們在數(shù)據(jù)流中的正確的位置上。
圖2c圖解說明了數(shù)據(jù)流的可能的第二結(jié)構(gòu)。該數(shù)據(jù)流包括(例如作為鏈接的列表來實(shí)施的)連續(xù)的數(shù)據(jù)組d1,d2,d3,...,dn。給每個數(shù)據(jù)組都分配有一個標(biāo)識符l1,l2,l3,...,ln。該標(biāo)識符例如可以表示在生成數(shù)據(jù)流時數(shù)據(jù)組在該數(shù)據(jù)流中存在的位置。接著,在該例子中會是l1=1,l2=2等等。
圖2d圖解說明了在所述數(shù)據(jù)流的這樣的結(jié)構(gòu)的情況下的錯誤情況。在圖解說明的錯誤情況下,例如由于傳送錯誤而缺少第二數(shù)據(jù)組d2。但是,所有其余的數(shù)據(jù)組依然被布置在它們在數(shù)據(jù)流中的正確的位置上。如果這些標(biāo)識符在本例中被選作無空隙地連續(xù)的整數(shù),則在接收到所述數(shù)據(jù)流時通過緊接著標(biāo)識符l1=1的是標(biāo)識符l3=3(而不是標(biāo)識符l2=2)可以推斷出在該數(shù)據(jù)流中缺少第二數(shù)據(jù)組d2。
圖3圖解說明了本發(fā)明的實(shí)施例。該系統(tǒng)的結(jié)構(gòu)可以與圖1中圖解說明的系統(tǒng)相同。在來源100中可以規(guī)定,所述輸入數(shù)據(jù)流的數(shù)據(jù)組d1,d2,...,dn經(jīng)受安全檢查。
計(jì)算單元101、102、103通過通信網(wǎng)絡(luò)n(例如以太網(wǎng))來彼此相連。每個計(jì)算單元101、102、103都確定了位掩碼b1、b2、b3。位掩碼是位的序列。每個位(例如通過該位在位掩碼中的位置)都明確地被分配給所述輸入數(shù)據(jù)流的數(shù)據(jù)組d1,d2,...,dn。所述位說明:由所述計(jì)算單元101、102、103接收的輸入數(shù)據(jù)流的所分配的數(shù)據(jù)組是否已經(jīng)被接收到。例如,值“1”可意味著相對應(yīng)的數(shù)據(jù)組已經(jīng)被接收到,而值“0”可意味著相對應(yīng)的數(shù)據(jù)組不曾被接收到。所述計(jì)算單元101、102、103可以通過所述網(wǎng)絡(luò)n來彼此交換這些位掩碼。也可能的是:只有一個所述計(jì)算單元101從其它的計(jì)算單元102、103接收位掩碼。接著,可能的是:所述計(jì)算單元102、103通過可替換的機(jī)制保證了所述計(jì)算單元102、103接收的輸入數(shù)據(jù)流是正確的。
所述位掩碼b1、b2、b3的位是關(guān)于相應(yīng)的被分配的數(shù)據(jù)組d1,d2,...,dn的元信息。也可能是其它的元信息、例如數(shù)據(jù)組d1,d2,...,dn的散列值(hashwert)來代替位。
在圖解說明的例子中,在計(jì)算單元102的輸入數(shù)據(jù)流中缺少數(shù)據(jù)組d2。這通過附圖標(biāo)記d2n來表示。相對應(yīng)地,在第二計(jì)算單元102中,位掩碼b2在第二位置上具有值“0”。第一計(jì)算單元101確定:該位掩碼b2在第二位置上具有值“0”,并且因而沒有將輸出數(shù)據(jù)組e2傳送給比較器104,如果所述位掩碼在第二位置上會具有值“1”,則會從數(shù)據(jù)組d2來確定所述輸出數(shù)據(jù)組e2。否則,所述輸出數(shù)據(jù)流相對于在圖1中圖解說明的例子不變。
因而,比較器104從計(jì)算單元101、102和103接收到空的數(shù)據(jù)組而不是所述輸出數(shù)據(jù)組e2。比較器104確定所述輸出數(shù)據(jù)組e2彼此是相同的,并且因而不是斷定錯誤,而是代替所述輸出數(shù)據(jù)組e2而輸出空的數(shù)據(jù)組。
也就是說,所述計(jì)算單元101、102、103首先交換元數(shù)據(jù)、即關(guān)于供所述計(jì)算單元101、102、103支配的數(shù)據(jù)組d1,d2,...,dn的信息。沒有或者不正確地供計(jì)算單元102支配的數(shù)據(jù)組d2n不被其它的計(jì)算單元101、103使用、也就是說在產(chǎn)生被傳送的輸出數(shù)據(jù)流時不予考慮。經(jīng)此,可以防止所述輸出數(shù)據(jù)流因?yàn)樗鼈儚牟煌妮斎霐?shù)據(jù)流生成而不一致。也可以避免由如下情況引起的不一致:計(jì)算單元由于被傳輸給該計(jì)算單元的輸入數(shù)據(jù)流的傳輸錯誤而被轉(zhuǎn)換到與所述另一計(jì)算單元的內(nèi)部狀態(tài)不同的內(nèi)部狀態(tài)。
圖4示出了按照本發(fā)明的第一方面的流程圖。該方法可以在所述計(jì)算單元101、102、103的一個或多個中、例如在計(jì)算單元101中投入使用。
在步驟1000中,該方法開始。計(jì)算單元101從來源100接收當(dāng)前隨附的數(shù)據(jù)組、例如d2。
在接下來的可選的步驟1010中,計(jì)算單元101生成用于數(shù)據(jù)組d2的元數(shù)據(jù)。例如,該計(jì)算單元101如在圖2c和2d中圖解說明的那樣生成了說明是否存在數(shù)據(jù)組d2的位。
在接下來的可選的步驟1020中,計(jì)算單元101將所述元數(shù)據(jù)發(fā)送給其它的計(jì)算單元102、103。
在接下來的步驟1030中,計(jì)算單元101從其它的計(jì)算單元102、103接收如下元數(shù)據(jù),所述元數(shù)據(jù)描述了所述其它的計(jì)算單元102、103的當(dāng)前隨附的數(shù)據(jù)組。
如果所述元數(shù)據(jù)是說明了是否存在所述信息的位,則計(jì)算單元101可以在接下來的步驟1040中根據(jù)該位的值來決定緊接著是步驟1050還是步驟1060。如果所述計(jì)算單元102、103中的至少一個的位的值為“0”,則緊接著是步驟1050,否則緊接著是步驟1060。
如果所述元數(shù)據(jù)例如是對數(shù)據(jù)組d2中的信息進(jìn)行編碼的散列值,則計(jì)算單元101可以在步驟1040中將由該計(jì)算單元101本身生成的用于所述數(shù)據(jù)組d2的元數(shù)據(jù)與從計(jì)算單元102、103接收到的元數(shù)據(jù)相比較。如果自己的元數(shù)據(jù)與從另一所述計(jì)算單元102、103接收到的元數(shù)據(jù)的比較得出這些元數(shù)據(jù)是不同的,則緊接著是步驟1050,否則緊接著是步驟1060。
在步驟1050中,計(jì)算單元101不向比較器104輸出數(shù)據(jù)組或向比較器104輸出空的數(shù)據(jù)組,并且該方法結(jié)束。
在步驟1060中,計(jì)算單元101從數(shù)據(jù)組d2來確定輸出數(shù)據(jù)組e2。如果缺少數(shù)據(jù)組d2或數(shù)據(jù)組d2是空的,則該計(jì)算單元101確定沒有輸出數(shù)據(jù)組或者確定空的輸出數(shù)據(jù)組。
在步驟1070中,該計(jì)算單元101將輸出數(shù)據(jù)組e2傳送給比較器104。如果已經(jīng)確定沒有輸出數(shù)據(jù)組或者空的輸出數(shù)據(jù)組,則該計(jì)算單元101不向比較器104傳送輸出數(shù)據(jù)組或向比較器104傳送空的輸出數(shù)據(jù)組。借此,該方法結(jié)束。
圖5示出了圖解說明按照本發(fā)明的另一方面的方法的流程的流程圖。該方法可以在所述計(jì)算單元101、102、103的一個或多個中、例如在計(jì)算單元101中投入使用。
在步驟2000中,該方法開始。計(jì)算單元101從來源100接收當(dāng)前隨附的數(shù)據(jù)組、例如d2。
在步驟2005中,計(jì)算單元101從數(shù)據(jù)組d2確定輸出數(shù)據(jù)組e2。如果缺少數(shù)據(jù)組d2或數(shù)據(jù)組d2是空的,則該計(jì)算單元101確定沒有輸出數(shù)據(jù)組或者確定空的輸出數(shù)據(jù)組。
在接下來的可選的步驟2010中,計(jì)算單元101生成用于數(shù)據(jù)組d2的元數(shù)據(jù)。例如,計(jì)算單元101如在圖2c和2d中圖解說明的那樣生成了說明是否存在數(shù)據(jù)組d2的位。
在接下來的可選的步驟2020中,計(jì)算單元101將所述元數(shù)據(jù)發(fā)送給其它的計(jì)算單元102、103。
在接下來的步驟2030中,計(jì)算單元101從其它的計(jì)算單元102、103接收如下元數(shù)據(jù),所述元數(shù)據(jù)描述了所述其它的計(jì)算單元102、103的當(dāng)前隨附的數(shù)據(jù)組。
如果所述元數(shù)據(jù)是說明了是否存在所述信息的位,則計(jì)算單元101可以在接下來的步驟2040中根據(jù)該位的值來決定緊接著是步驟2050還是步驟2060。如果所述計(jì)算單元102、103中的至少一個的位的值為“0”,則緊接著是步驟2050,否則緊接著是步驟2060。
如果所述元數(shù)據(jù)例如是對數(shù)據(jù)組d2中的信息進(jìn)行編碼的散列值,則計(jì)算單元101可以在步驟2040中將由該計(jì)算單元101本身生成的用于所述數(shù)據(jù)組d2的元數(shù)據(jù)與從計(jì)算單元102、103接收到的元數(shù)據(jù)相比較。如果自己的元數(shù)據(jù)與從另一所述計(jì)算單元102、103接收到的元數(shù)據(jù)的比較得出這些元數(shù)據(jù)是不同的,則緊接著是步驟2050,否則緊接著是步驟2060。
在步驟2050中,計(jì)算單元101的內(nèi)部狀態(tài)重新回到在步驟2005中在計(jì)算輸出數(shù)據(jù)組e2之前已存在的狀態(tài)。緊接著,計(jì)算單元101不向比較器104輸出數(shù)據(jù)組或向比較器104輸出空的數(shù)據(jù)組,并且該方法結(jié)束。
在步驟2060中,該計(jì)算單元101將輸出數(shù)據(jù)組e2傳送給比較器104。如果已經(jīng)確定沒有輸出數(shù)據(jù)組或者空的輸出數(shù)據(jù)組,則該計(jì)算單元101不向比較器104傳送輸出數(shù)據(jù)組或向比較器104傳送空的輸出數(shù)據(jù)組。借此,該方法結(jié)束。
對于本領(lǐng)域技術(shù)人員易于理解的是,可以以軟件、或者以硬件、或者以由軟件和硬件構(gòu)成的混合形式來實(shí)施該方法。