專利名稱:分類方法、分類處理設(shè)備和數(shù)據(jù)處理設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對大量數(shù)據(jù)進(jìn)行高速分類的分類處理設(shè)備、使用該分類設(shè)備的分類方法以及進(jìn)行數(shù)據(jù)檢索等的數(shù)據(jù)處理設(shè)備。
圖18表示在“信息處理”33卷12期第1416-1423頁上所描述的普通數(shù)據(jù)處理設(shè)備。標(biāo)號1表示數(shù)據(jù)處理設(shè)備,標(biāo)號2表示通過解釋從CPU7傳送給其的命令來控制數(shù)據(jù)庫處理設(shè)備3的控制器,標(biāo)號3表示對于存儲在磁盤設(shè)備8、主存6等中的數(shù)據(jù)進(jìn)行數(shù)據(jù)庫處理的數(shù)據(jù)庫處理設(shè)備,標(biāo)號4表示根據(jù)來自數(shù)據(jù)庫處理設(shè)備的指令進(jìn)行分類處理的分類處理設(shè)備??刂破?、數(shù)據(jù)庫處理設(shè)備3和分類處理設(shè)備4位于數(shù)據(jù)處理設(shè)備1內(nèi)。標(biāo)號5表示用于連接數(shù)據(jù)處理設(shè)備1、主存6、CPU7、磁盤設(shè)備8等的主計(jì)算機(jī)9的總線。標(biāo)號6表示主計(jì)算機(jī)的主存,標(biāo)號7表示主計(jì)算機(jī)的CPU,標(biāo)號8表示在主計(jì)算機(jī)中存儲數(shù)據(jù)的磁盤設(shè)備,標(biāo)號9表示整個(gè)主計(jì)算機(jī)。
以下對操作進(jìn)行說明。如果在主計(jì)算機(jī)9中產(chǎn)生了數(shù)據(jù)處理請求,主計(jì)算機(jī)9的CPU7就陸續(xù)地從存有目標(biāo)數(shù)據(jù)的磁盤設(shè)備8中取出數(shù)據(jù)并通過總線5不斷地將它們傳送給數(shù)據(jù)處理設(shè)備1。此時(shí),如果需要的話,就將主計(jì)算機(jī)9的主存6作為輸入/輸出緩沖區(qū)。當(dāng)數(shù)據(jù)輸入到數(shù)據(jù)處理設(shè)備1時(shí),數(shù)據(jù)處理設(shè)備1就利用數(shù)據(jù)庫處理設(shè)備3進(jìn)行處理、利用分類處理設(shè)備4進(jìn)行分類處理,并再通過總線5將結(jié)果返回給CPU7。CPU7按照與輸入期間相同的方式將返回的結(jié)果數(shù)據(jù)存儲在磁盤設(shè)備8中。數(shù)據(jù)向數(shù)據(jù)處理設(shè)備1的輸入和結(jié)果數(shù)據(jù)從數(shù)據(jù)處理設(shè)備的輸出由控制器2并行地執(zhí)行。
以下對數(shù)據(jù)庫處理設(shè)備33的操作進(jìn)行詳細(xì)的說明。對于從控制器2輸入到數(shù)據(jù)庫處理設(shè)備3的數(shù)據(jù),數(shù)據(jù)庫處理設(shè)備3執(zhí)行與分類處理不同的數(shù)據(jù)庫處理,例如數(shù)據(jù)選擇、格式轉(zhuǎn)換和合并。數(shù)據(jù)庫處理設(shè)備3可以利用專門的硬件來實(shí)現(xiàn),或者利用一個(gè)或多個(gè)通用微處理器來實(shí)現(xiàn)。根據(jù)來自CPU7的指令內(nèi)容的不同,數(shù)據(jù)庫處理設(shè)備3在需要進(jìn)行分類處理時(shí)通過控制分類處理設(shè)備4來進(jìn)行分類處理。一般來說,數(shù)據(jù)庫處理設(shè)備3在分類處理之前進(jìn)行數(shù)據(jù)選擇、格式轉(zhuǎn)換等,或者在分類處理之后進(jìn)行求和處理。如果不需要分類處理,數(shù)據(jù)庫處理設(shè)備3就只進(jìn)行數(shù)據(jù)的選擇處理等,并通過控制器2返回結(jié)果給CPU7。此外,在這個(gè)時(shí)候,如例如日本專利申請?zhí)卦S公開第63-86043號中所示,分類處理設(shè)備4的存儲設(shè)備被共享,分類處理設(shè)備停止工作,其存儲設(shè)備被用作數(shù)據(jù)庫處理設(shè)備3的存儲設(shè)備,以便在諸如數(shù)據(jù)的合并和組合等處理期間作為大容量緩沖區(qū)設(shè)備。
上述數(shù)據(jù)庫處理設(shè)備結(jié)構(gòu)的一實(shí)例如圖19所示。在圖19中,與圖18所示標(biāo)號相同的標(biāo)號表示相同或相應(yīng)的部件。標(biāo)號34和35表示通用微處理器,標(biāo)號36和37表示分別與微處理器34和35連接的主存儲器。標(biāo)號38表示用于連接兩個(gè)通用微處理器34和35、控制器2以及分類處理設(shè)備4的總線;標(biāo)號31表示將數(shù)據(jù)輸入給分類處理設(shè)備4的總線;標(biāo)號32表示從分類處理設(shè)備4輸出數(shù)據(jù)的總線;標(biāo)號33表示對分類處理設(shè)備4中的共享存儲設(shè)備進(jìn)行存取的總線。此后將對于指定的數(shù)據(jù)處理使用分類處理設(shè)備4的情形和沒有使用分類處理設(shè)備4的情形分別描述數(shù)據(jù)庫處理設(shè)備3的操作。
在指定的處理使用分類處理設(shè)備4的情形中,就微處理器34和35而論,對于輸入數(shù)據(jù),例如將微處理器34指定給數(shù)據(jù)選擇處理。微處理器34不斷地接收控制器2通過總線38給其傳送的數(shù)據(jù)、利用其主存儲器36只取出必需的數(shù)據(jù)以及通過總線31陸續(xù)地將必需的數(shù)據(jù)傳送給分類處理設(shè)備4。分類處理設(shè)備4不斷地接收這些數(shù)據(jù)重排它們并通過總線32將結(jié)果傳回給微處理器35。一旦接收到這些結(jié)果,微處理器35就利用主存儲器37來完成例如數(shù)據(jù)的格式轉(zhuǎn)換、聚合功能等,并通過總線38將結(jié)果傳回給控制器2。
在指定的處理沒有使用分類處理設(shè)備4的情形中,輸入數(shù)據(jù)處理和輸出數(shù)據(jù)處理被分別分配給微處理器34和35。在這種情況下,由于分類處理設(shè)備4沒有被使用,所以其操作被停止,分類處理設(shè)備4的存儲設(shè)備通過總線33被交替地用作微處理器34和35的主存。就是說,除了微處理器34和35分別具有的主存儲器36和37外,微處理器34和35還將分類處理設(shè)備4具有的存儲設(shè)備的一部分用作它們的共享存儲設(shè)備。傳送給這一存儲設(shè)備的數(shù)據(jù)被部分地存儲,能夠減少控制器2輸入和輸出的數(shù)目,由此能夠提高處理速度。例如,可以這樣地執(zhí)行對存儲在多個(gè)文件中的數(shù)據(jù)組進(jìn)行合并的處理,使得在數(shù)據(jù)被陸續(xù)地與文件相一致地進(jìn)行分類時(shí),微處理器34能夠?qū)目刂破?接收的文件組的數(shù)據(jù)暫存在分類處理設(shè)備4的共享存儲設(shè)備的區(qū)域中,與此同時(shí),微處理器35能夠并行地合并位于該區(qū)域中的各個(gè)文件的數(shù)據(jù)。
以下詳細(xì)地描述分類處理設(shè)備4的操作。CPU7通過數(shù)據(jù)庫處理設(shè)備3傳送的數(shù)據(jù)串被不斷地輸入給分類處理設(shè)備4并按照指定順序被重新排列,結(jié)果又被返回給數(shù)據(jù)庫處理設(shè)備3。這一過程如上述“信息處理”描述的圖20所示。圖20是說明分類處理設(shè)備4的內(nèi)部結(jié)構(gòu)的圖示。在圖20中,與圖19所示標(biāo)號相同的標(biāo)號表示相同或相應(yīng)的部分。標(biāo)號41表示首先對經(jīng)總線31輸入的數(shù)據(jù)進(jìn)行分類處理的第一級分類處理器;標(biāo)號42表示對被第一級分類處理器分類的輸出數(shù)據(jù)進(jìn)行分類處理的第二級分類處理器;標(biāo)號43和44表示各被用來對來自相應(yīng)前級分類處理器的輸出數(shù)據(jù)進(jìn)行分類處理的第三級分類處理器和第四級分類處理器。在第四級即最后級中的分類處理器的輸出信號通過總線32輸出給微處理器34或35。雖然在此示出四個(gè)分類處理器41至44來簡化說明,但根據(jù)需要可以增加或減少分類處理器的個(gè)數(shù)。標(biāo)號45至48表示分別被連接到分類處理器41至44的共享存儲設(shè)備。共享存儲設(shè)備45至48的存儲容量根據(jù)與之連接的分類處理器41至44而變化。例如,與第i級分類處理器連接的共享存儲設(shè)備的存儲容量具有根據(jù)2的(i-1)次冪計(jì)算的容量。
以下詳細(xì)描述分類程序444進(jìn)行的分類處理。圖21是說明輸入給各個(gè)分類處理器的數(shù)據(jù)的內(nèi)容以及它們的輸入定時(shí)的圖示。標(biāo)號49a表示輸入給第一級分類器的數(shù)據(jù)串;49b表示輸入給第二級分類處理器的數(shù)據(jù)串;49c表示輸入給第三級分類處理器的數(shù)據(jù)串;49d表示輸入給第四級分類處理器的數(shù)據(jù)串。
現(xiàn)在考慮數(shù)據(jù)8,2,1,3,5,7,6,4,…被陸續(xù)地輸入給分類程序444并按照降序進(jìn)行分類的情況。首先,第一級中的在前分類處理器41每兩個(gè)地取出輸入的數(shù)據(jù)、重排它們并將它們傳送給在后面級中的分類處理器。每兩個(gè)地輸入給后面級分類處理器的數(shù)據(jù)是82,31,75,64,…在這里,前面級分類處理器41傳送的數(shù)據(jù)“1”和“3”的順序被顛倒,數(shù)據(jù)作為按顛倒順序“31”被分類的兩個(gè)數(shù)據(jù)的組合被輸出。這樣每兩個(gè)地被分類的數(shù)據(jù)被輸入給第二級分類處理器42,該第二級分類處理器42每兩組地取裝它們和合并它們,并將每四個(gè)地被分類的數(shù)據(jù)串傳送給后面級。結(jié)果是8321,7654,…如果例如“82”和“31”被合并,結(jié)果就是“8321”。這樣每四個(gè)地被分類的數(shù)據(jù)被輸入給第三級分類處理器43,該第三級分類處理器43每兩組地取裝它們和合并它們,并將每八個(gè)地被分類的數(shù)據(jù)串傳送給后面級。結(jié)果是87654321,…第四級分類處理器44以及后面分類處理器地進(jìn)行類似的處理。
如圖21所示,各分類處理器41至44能夠在前面級分類處理器結(jié)束所有處理之前開始處理。因此,可以看出,如果數(shù)據(jù)被連續(xù)地輸入,則分類結(jié)果被并行地輸出,數(shù)據(jù)輸入有微小的時(shí)間滯后。
例如,對由第二級分類處理器42開始的處理進(jìn)行說明。第一級分類處理器41在步驟S1接收“8”、在步驟S2接收“2”。第一級分類處理器41然后在步驟S3比較“8”和“2”,輸出較大數(shù)值的“8”和接收新的數(shù)值“1”。第一級分類處理器41然后比較當(dāng)前被存儲的“2”和“1”,輸出“2”和接收所的數(shù)值“3”。
其間,第二級分類處理器42在步驟S3開始操作,接收第一級分類處理器41輸出的數(shù)據(jù)“8”。然后,按照與步驟S3相同的方式,第二級分類處理器42在步驟S4接收“2”、在步驟S5接收“3”。然后在步驟S6,第二級分類處理器42比較“8”和“3”、輸出較大數(shù)值的“8”、將“2”指定為下次要被比較的數(shù)值。其間,第二級分類處理器42從第一級分類處理器41接收新的數(shù)值“1”,這一值“1”以棧的方式被存儲在“3”之后。在步驟S7中,第二級分類處理器42比較“2”和“3”,輸出較大數(shù)據(jù)的“3”。
如上所述,分類結(jié)果的輸出在分類處理器接收要被分類的全部數(shù)據(jù)串之前開始(在這一情形中是在步驟S6之前)。
這樣一來,2n個(gè)數(shù)據(jù)的重排即分類由n個(gè)分類處理器來完成。
由于與相應(yīng)分類處理器41至44連接的共享存儲設(shè)備45至48的存儲容量由存儲器芯片容量及配置等確定,所以這些存儲容量實(shí)際上不一定是前面級容量的兩倍。例如,容量為512kB的在座器芯片安裝在所有的前10個(gè)級中,容量為1MB的存儲器芯片安裝在第11級中,容量為2MB的存儲器芯片安裝在第12級中,后面級依此類推。
由于普通數(shù)據(jù)處理設(shè)備1具有上述結(jié)構(gòu),所以存在下述問題。
在特定處理正在被執(zhí)行時(shí)不能執(zhí)行不同的處理。例如,如果數(shù)據(jù)處理設(shè)備1開始需要較長執(zhí)行時(shí)間的處理的執(zhí)行,則其它處理就不能夠被執(zhí)行。
特別是當(dāng)存在少量其負(fù)載較重的處理操作和大量其負(fù)載較輕的處理操作時(shí),如果開始負(fù)載較重的處理的執(zhí)行,則負(fù)載較輕的處理的等待時(shí)間將非常長,導(dǎo)致系統(tǒng)處理能力的下降。
如果試圖同時(shí)地執(zhí)行多個(gè)處理操作來克服上述問題,就需要將多個(gè)數(shù)據(jù)處理設(shè)備與主計(jì)算機(jī)連接,這導(dǎo)致成本的增大。
一般來說,在全體的數(shù)據(jù)庫操作中,大量負(fù)載相當(dāng)重的處理操作,例如市場支持在白天執(zhí)行,而少量負(fù)載較輕的處理操作、例如每日批處理在夜間執(zhí)行。為此,對于白天的操作需要大量的數(shù)據(jù)處理設(shè)備,而對于夜間的操作只需要少量的高速數(shù)據(jù)處理設(shè)備。但是,在使用普通數(shù)據(jù)處理設(shè)備的情況下,為了滿足白天的需要,需要安裝大量的數(shù)據(jù)處理設(shè)備,但大多數(shù)這些數(shù)據(jù)處理設(shè)備在夜間不使用,因此降低了資源的利用率。
作出本發(fā)明來克服上述問題,本發(fā)明的一個(gè)目的是提供一設(shè)備,在諸如分類這樣的數(shù)據(jù)庫處理期間,該設(shè)備允許在時(shí)間共享的基礎(chǔ)上并行地執(zhí)行其它處理,尤其是即使當(dāng)需要較長執(zhí)行時(shí)間的處理正在被執(zhí)行時(shí)也能夠改善負(fù)載較輕的處理的響應(yīng)時(shí)間。本發(fā)明的另一個(gè)目的是提供一設(shè)備,該設(shè)備的多道處理的級數(shù)可以改變,以便使其既可作為白天使用的高速單個(gè)處理設(shè)備,又可作為在夜間使用的具有強(qiáng)的處理能力的多道處理設(shè)備。
根據(jù)本發(fā)明,提供了包括以下步驟的分類方法將包含多個(gè)記錄的第一數(shù)據(jù)塊分離為各包含多個(gè)記錄的多個(gè)第一小數(shù)據(jù)塊的數(shù)據(jù)塊分離步驟;利用分類處理單元分類被包含在多個(gè)第一小數(shù)據(jù)塊的每一個(gè)中的多個(gè)記錄的第一分類步驟;利用分類處理單元分類被包含在與第一數(shù)據(jù)塊不同的第二數(shù)據(jù)塊中的多個(gè)記錄的第二分類步驟;利用分類處理單元對在第一分類步驟中未被分類的第一小數(shù)據(jù)塊進(jìn)行分類的第三分類步驟;以及通過合并在第一分類步驟和第三分類步驟中被分類的多個(gè)第一小數(shù)據(jù)塊產(chǎn)生分類數(shù)據(jù)塊的數(shù)據(jù)塊合并步驟。
根據(jù)本發(fā)明,提供了分類處理設(shè)備,該分類處理設(shè)備包括第一多輸入控制單元,它接受多個(gè)分類處理操作,在預(yù)定處理?xiàng)l件下輸出與一分類處理操作有關(guān)的分類數(shù)據(jù),在結(jié)束該輸出后,輸出與另一發(fā)類處理操作有關(guān)的分類數(shù)據(jù);分類處理單元,對第一多輸入控制單元給其傳送的分類數(shù)據(jù)進(jìn)行分類;以及多輸出控制單元,通過區(qū)分分類處理單元傳送的分類數(shù)據(jù)涉及哪種分類處理操作來集中地輸出每一分類處理操作的數(shù)據(jù)。
第一多輸入控制單元進(jìn)行預(yù)定時(shí)間的與多個(gè)分類處理操作中的一分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的輸出,在結(jié)束該輸出后,進(jìn)行預(yù)定時(shí)間的與另一分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的輸出。
第一多輸入控制單元輸出與多個(gè)分類處理操作中的一分類處理操作的一部分有關(guān)的預(yù)定數(shù)據(jù)量的分類數(shù)據(jù),在結(jié)束該輸出后,輸出與另一發(fā)類處理操作的一部分有關(guān)的預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)。
第一多輸入控制單元接受多個(gè)分類處理操作,在進(jìn)行了預(yù)定時(shí)間的分類數(shù)據(jù)輸出的條件和輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)的條件之一被滿足之前輸出與一分類處理操作有關(guān)的分類數(shù)據(jù),在結(jié)束該輸出之后,輸出與另一分類處理操作有關(guān)的分類數(shù)據(jù),直到進(jìn)行了預(yù)定時(shí)間的分類數(shù)據(jù)的輸出的條件和輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)的條件之一被滿足為止。
當(dāng)從一分類處理操作轉(zhuǎn)換到另一分類處理操作時(shí),分類處理單元存儲與第一多輸入控制單元輸出的一分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的全部記錄。
第一多輸入控制單元能夠可變地設(shè)定其接受的分類處理操作的最大數(shù)目。
在輸出與分類處理操作有關(guān)的分類數(shù)據(jù)時(shí),如果檢測到與分類處理操作有關(guān)的誤差或消除,第一多輸入控制單元就輸出被附加了結(jié)束數(shù)據(jù)的分類數(shù)據(jù),在多輸出的控制單元讀出來自分類處理單元的與分類處理操作有關(guān)的分類數(shù)據(jù)直到結(jié)束數(shù)據(jù)時(shí),第一多輸入控制單元暫停該分類處理操作。
根據(jù)本發(fā)明,提供了數(shù)據(jù)處理設(shè)備,該數(shù)據(jù)處理設(shè)備包括第二多輸入控制單元,它接受分類處理操作和數(shù)據(jù)庫處理操作,在預(yù)定處理?xiàng)l件下輸出與分類處理操作有關(guān)的分類數(shù)據(jù),在結(jié)束該輸出之后,在預(yù)定處理?xiàng)l件下輸出與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù);由多個(gè)分類處理器串接組成的分類處理單元,對第二多輸入控制單元給其傳送的分類數(shù)據(jù)進(jìn)行分類;數(shù)據(jù)庫處理單元,對第二多輸入控制單元給其傳送的數(shù)據(jù)執(zhí)行數(shù)據(jù)庫處理操作;以及多輸出控制單元,通過區(qū)分傳送給多輸出控制單元的數(shù)據(jù)是與分類處理操作有關(guān)的數(shù)據(jù)還是與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)來集中地輸出分類處理單元在分類處理操作中向其傳送的分類數(shù)據(jù)或數(shù)據(jù)庫處理單元在數(shù)據(jù)庫處理操作中向其傳送的數(shù)據(jù)。
該數(shù)據(jù)處理設(shè)備還包括與分類處理單元的數(shù)據(jù)庫處理單元連接的共享存儲部件,在多個(gè)分類處理器的至少一個(gè)被旁路時(shí)使數(shù)據(jù)庫處理單元能夠使用未被用于分類處理的存儲器。
第二多輸入控制單元進(jìn)行預(yù)定時(shí)間的與分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的輸出,在該輸出之后,進(jìn)行預(yù)定時(shí)間的與數(shù)據(jù)庫處理操作的一部分有關(guān)的數(shù)據(jù)的輸出。
第二多輸入控制單元接受分類處理操作和數(shù)據(jù)庫處理操作,輸出預(yù)定數(shù)據(jù)量的與分類處理操作有關(guān)的分類數(shù)據(jù),在該輸出之后,輸出預(yù)定數(shù)據(jù)量的與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)。
第二多輸入控制單元接受分類處理操作和數(shù)據(jù)庫處理操作,在進(jìn)行預(yù)定時(shí)間的分類數(shù)據(jù)輸出的條件和輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)的條件之一被滿足之前,輸出與分類處理操作有關(guān)的分類數(shù)據(jù),在該輸出之后,進(jìn)行預(yù)定時(shí)間的與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)的輸出。
至少一個(gè)分類處理器用于升序/降序檢驗(yàn)。
第二多輸入控制單元能夠可變地設(shè)定分類處理操作和與第二多輸入控制單元接受的分類處理操作不相同的數(shù)據(jù)庫處理操作的最大數(shù)目。因此,第二多輸入控制單元在不超出該上限的范圍內(nèi)接受處理,并將該處理的接受數(shù)據(jù)輸出給分類處理單元或數(shù)據(jù)庫處理單元。
如上所述,本發(fā)明的分類方法包括以下步驟將包含多個(gè)記錄的第一數(shù)據(jù)塊分離為各包含多個(gè)記錄的多個(gè)第一小數(shù)據(jù)塊的數(shù)據(jù)塊分離步驟;利用分類處理單元分類被包含在多個(gè)第一小數(shù)據(jù)塊的每一個(gè)中的多個(gè)記錄的第一分類步驟;利用分類處理單元分類被包含在與第一數(shù)據(jù)塊不同的第二數(shù)據(jù)塊中的多個(gè)記錄的第二分類步驟;利用分類處理單元對在第一分類步驟中未被分類的第一小數(shù)據(jù)塊進(jìn)行分類的第三分類步驟;以及通過合并在第一分類步驟和第三分類步驟被分類的多個(gè)第一小數(shù)據(jù)塊產(chǎn)生分類數(shù)據(jù)塊的數(shù)據(jù)塊合并步驟。因此,在進(jìn)行操作時(shí),與分類整個(gè)第一數(shù)據(jù)塊的情況相比,第一分類步驟在短時(shí)間內(nèi)結(jié)束,然后執(zhí)行第二分類步驟。在第二分類步驟結(jié)束之后,在短時(shí)間內(nèi)執(zhí)行又分類第一數(shù)據(jù)塊的第三分類步驟。
如上所述,本發(fā)明的分類處理設(shè)備包括第一多輸入控制單元,它接受多個(gè)分類處理操作,在預(yù)定處理?xiàng)l件下輸出與一分類處理操作有關(guān)的分類數(shù)據(jù),在結(jié)束該輸出后,輸出與另一分類處理操作有關(guān)的分類數(shù)據(jù);分類處理單元,對第一多輸入控制單元給其傳送的分類數(shù)據(jù)進(jìn)行分類;以及多輸出控制單元,通過區(qū)分分類處理單元傳送的分類數(shù)據(jù)涉及哪種分類處理操作來集中地輸出每一分類處理操作的數(shù)據(jù)。因此,在進(jìn)行操作時(shí),第一多輸入控制單元通過在預(yù)定條件下改變多個(gè)分類處理操作來輸出數(shù)據(jù),分類處理單元接收并分類該數(shù)據(jù),多輸出控制單元單獨(dú)地對每一分類處理操作輸出分類處理單元傳送的分類數(shù)據(jù)。
此外,第一多輸入控制單元進(jìn)行預(yù)定時(shí)間的與多個(gè)分類處理操作中的一分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的輸出,在結(jié)束該輸出后,進(jìn)行預(yù)定時(shí)間的與另一分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的輸出。因此,第一多輸入控制單元通過在預(yù)定時(shí)刻轉(zhuǎn)換多個(gè)分類處理操作來輸出數(shù)據(jù),分類處理單元接收并分類該數(shù)據(jù),多輸出控制單元單獨(dú)地對每一分類處理操作輸出分類處理單元傳送的分類數(shù)據(jù)。
此外,第一多輸入控制單元輸出與多個(gè)分類處理操作中的一分類處理操作的一部分有關(guān)的預(yù)定數(shù)據(jù)量的分類數(shù)據(jù),在結(jié)束該輸出后,輸出與另一分類處理操作的一部分有關(guān)的預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)。因此,與一種分類處理操作有關(guān)的數(shù)據(jù)被分成固定大小來產(chǎn)生小的數(shù)據(jù)塊,在對于每一小數(shù)據(jù)塊改變多個(gè)分類處理操作的時(shí)候輸出該數(shù)據(jù)。
此外,第一多輸入控制單元接受多個(gè)分類處理操作,在進(jìn)行了預(yù)定時(shí)間的分類數(shù)據(jù)輸出的條件和輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)的條件之一被滿足之前輸出與一分類處理操作有關(guān)的分類數(shù)據(jù),在結(jié)束該輸出之后,輸出與另一分類處理操作有關(guān)的分類數(shù)據(jù),直到進(jìn)行了預(yù)定時(shí)間的分類數(shù)據(jù)的輸出的條件和輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)的條件之一被滿足為止。因此,不大于固定數(shù)量的數(shù)據(jù)被輸出給分類處理單元,對于每一固定的時(shí)刻改變分類處理操作。
此外,當(dāng)從一分類處理操作轉(zhuǎn)換到另一分類處理操作時(shí),分類處理單元存儲與第一多輸入控制單元輸出的一分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的全部記錄。因此,在一個(gè)小數(shù)據(jù)塊的全部數(shù)據(jù)被輸入到分類處理單元之前,分類處理操作不會被改變。
此外,第一多輸入控制單元能夠可變地設(shè)定其接受的分類處理操作的最大數(shù)目。因此,第一多輸入控制單元在不超出該上限的范圍內(nèi)接受處理,并將該處理的接受數(shù)據(jù)輸出給分類處理單元。
此外,在輸出與分類處理操作有關(guān)的分類數(shù)據(jù)時(shí),如果檢測到與分類處理操作有關(guān)的誤差或消除,第一多輸入控制單元就輸出被增加了結(jié)束數(shù)據(jù)的分類數(shù)據(jù),在多輸出控制單元讀出來自分類處理單元的與分類處理操作有關(guān)的分類數(shù)據(jù)直到結(jié)束數(shù)據(jù)時(shí),第一多輸入控制單元暫停該分類處理操作。因此,一旦檢測到誤差或消除,第一多輸入控制單元就輸出被附加了結(jié)束數(shù)據(jù)的分類數(shù)據(jù),不輸出正在被輸出的分類數(shù)據(jù)的剩余部分,暫停該分類處理操作。為了從分類處理單元中消除與被暫停的分類處理操作有關(guān)的分類數(shù)據(jù),多輸出控制單元執(zhí)行另一正常的分類處理操作,不與與保留在分類處理單元中的另一正常分類處理操作有關(guān)的分類數(shù)據(jù)一道地重新設(shè)定與該暫停分類處理操作有關(guān)的數(shù)據(jù)。其間,多輸出控制單元讀出與保留在分類處理單元中的暫停分類處理操作有關(guān)的分類數(shù)據(jù),以便保證該數(shù)據(jù)不保留在分類處理單元中。
如上所述,本發(fā)明的數(shù)據(jù)處理設(shè)備包括第二多輸入控制單元,它接收分類處理操作和數(shù)據(jù)庫處理操作,在預(yù)定處理?xiàng)l件下輸出與分類處理操作有關(guān)的分類數(shù)據(jù),在結(jié)束該輸出之后,在預(yù)定處理?xiàng)l件下輸出與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù);由多個(gè)分類處理器串接組成的分類處理單元,對第二多輸入控制單元給其傳送的分類數(shù)據(jù)進(jìn)行分類;數(shù)據(jù)庫處理單元,對第二多輸入控制單元給其傳送的數(shù)據(jù)執(zhí)行數(shù)據(jù)庫處理操作;以及多輸出控制單元,通過區(qū)分傳送給多輸出控制單元的數(shù)據(jù)是與分類處理操作有關(guān)的數(shù)據(jù)還是與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)來集中地輸出分類處理單元在分類處理操作中向其傳送的分類數(shù)據(jù)或數(shù)據(jù)庫處理單元在數(shù)據(jù)庫處理操作中向其傳送的數(shù)據(jù)。因此,第二多輸入控制單元通過在預(yù)定條件下轉(zhuǎn)換分類處理操作和數(shù)據(jù)庫處理操作來輸出與分類處理操作有關(guān)的分類數(shù)據(jù)和與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù),多輸出控制單元通過區(qū)分分類數(shù)據(jù)和數(shù)據(jù)來對每一處理類型單獨(dú)地輸出分類數(shù)據(jù)和數(shù)據(jù)。
此外,如上所述,該數(shù)據(jù)處理設(shè)備還包括與分類處理單元和數(shù)據(jù)庫處理單元連接的共享存儲部件,在多個(gè)分類處理器的至少一個(gè)被旁路時(shí)使數(shù)據(jù)庫處理單元能夠使用未被用于分類處理的存儲器。因?yàn)?,分類處理器的部分存儲器用于?shù)據(jù)庫處理單元,該存儲器的余下部分用于分類處理,與數(shù)據(jù)庫處理和分類處理有關(guān)的數(shù)據(jù)被同時(shí)地存儲,由此能夠按照不對數(shù)據(jù)造成相互干擾的方式使用存儲器。
此外,第二多輸入控制單元進(jìn)行預(yù)定時(shí)間的與分類處理操作的一部分有關(guān)的分類數(shù)據(jù)的輸出,在該輸出之后,進(jìn)行預(yù)定時(shí)間的與數(shù)據(jù)庫處理操作的一部分有關(guān)的數(shù)據(jù)的輸出。因此,第二多輸入控制單元通過在預(yù)定時(shí)刻轉(zhuǎn)換分類處理操作和數(shù)據(jù)庫處理操作來輸出與分類處理操作有關(guān)的分類數(shù)據(jù)和與數(shù)據(jù)庫處理有關(guān)的數(shù)據(jù),多輸出控制單元通過區(qū)分分類數(shù)據(jù)和數(shù)據(jù)來對每一處理類型單獨(dú)地輸出分類數(shù)據(jù)和數(shù)據(jù)。
此外,第二多輸入控制單元接受分類處理操作和數(shù)據(jù)庫處理操作,輸出預(yù)定數(shù)據(jù)量的與分類處理操作有關(guān)的分類數(shù)據(jù),在該輸出之后,輸出預(yù)定數(shù)據(jù)量的與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)。因此,在輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)之后,第二多輸入控制單元輸出與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)。
此外,第二輸入控制單元接受分類處理操作和數(shù)據(jù)庫處理操作,在進(jìn)行了預(yù)定時(shí)間的分類數(shù)據(jù)輸出的條件和輸出了預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)的條件之一被滿足之前,輸出與分類處理操作有關(guān)的分類數(shù)據(jù),在該輸出之后,進(jìn)行預(yù)定時(shí)間的與數(shù)據(jù)庫處理操作有關(guān)的數(shù)據(jù)的輸出。因此,分類處理和數(shù)據(jù)庫處理可被一個(gè)數(shù)據(jù)處理設(shè)備并行地執(zhí)行,在固定時(shí)刻輸入的數(shù)據(jù)被轉(zhuǎn)換。
此外,由于至少一個(gè)分類處理器用于升序/降序檢驗(yàn),所以升序/降序檢驗(yàn)通過利用至少一個(gè)分類處理器來進(jìn)行。當(dāng)分類處理被執(zhí)行時(shí),進(jìn)行升序/降序檢驗(yàn)的分類處理器被旁路,其它分類處理器執(zhí)行分類處理操作。因此,進(jìn)行升序/降序檢驗(yàn)的分類處理器不干擾存儲在其它分類處理器中的內(nèi)容,其它處理器不干擾存儲在進(jìn)行升序/降序檢驗(yàn)的處理器中的內(nèi)容。
此外,第二多輸入控制單元能夠可變地設(shè)定分類處理操作和與第二多輸入控制單元接受的分類處理操作不相同的數(shù)據(jù)庫處理操作的最大數(shù)目。因此,第二多輸入控制單元在不超出該上限的范圍內(nèi)接受處理,并將該處理的接受數(shù)據(jù)輸出給分類處理單元或數(shù)據(jù)庫處理單元。
被包括在本說明書中并構(gòu)成本說明書的一部分的附圖與文字描述一道說明本發(fā)明的實(shí)施例,描述了本發(fā)明的目的、優(yōu)點(diǎn)和原理。
圖1是本發(fā)明第一實(shí)施例的數(shù)據(jù)處理設(shè)備的功能方框圖;圖2是說明本發(fā)明第一實(shí)施例的數(shù)據(jù)庫系統(tǒng)的整體配置的示意圖;圖3是說明本發(fā)明第一實(shí)施例的數(shù)據(jù)處理設(shè)備的輸入/輸出命令的圖示;圖4是說明本發(fā)明第一實(shí)施例的作業(yè)和作業(yè)步的圖示;圖5是說明在本發(fā)明第一實(shí)施例的分類處理設(shè)備中的數(shù)據(jù)流動的圖示;圖6是說明在分類處理設(shè)備在本發(fā)明第一實(shí)施例中的被使用的情況下作業(yè)步的輸入/輸出定時(shí)的圖示;圖7是說明在分類處理設(shè)備未在本發(fā)明第一實(shí)施例中被使用的情況下作業(yè)步的輸入/輸出定時(shí)的圖示;圖8是說明本發(fā)明第一實(shí)施例的多道處理控制單元的操作的第一流程圖;圖9是說明本發(fā)明第一實(shí)施例的多道處理控制單元的操作的第二流程圖;圖10是說明本發(fā)明第一實(shí)施例的多道處理控制單元的操作的第三流程圖;圖11是說明本發(fā)明第一實(shí)施例的多道處理控制單元的操作的第四流程圖;圖12是說明本發(fā)明第一實(shí)施例的輸入數(shù)據(jù)處理控制單元的操作的流程圖;圖13是說明本發(fā)明第一實(shí)施例的輸出數(shù)據(jù)處理控制單元的操作的流程圖;圖14是說明在利用分類處理設(shè)備的作業(yè)和未利用分類處理設(shè)備的作業(yè)被并行地執(zhí)行的情況下作業(yè)步的輸入/輸出定時(shí)的圖示;圖15是詳細(xì)描述本發(fā)明第一實(shí)施例的分類處理設(shè)備的功能方框圖;圖16是說明本發(fā)明第一實(shí)施例中的作業(yè)步的數(shù)據(jù)的圖示;圖17A至17D是說明在存儲設(shè)備被兩臺設(shè)備共享的情況下被數(shù)據(jù)庫處理設(shè)備和分類處理設(shè)備使用的存儲區(qū)域的圖示;圖18是說明普通數(shù)據(jù)庫系統(tǒng)的整體配置的示意圖;圖19是說明普通數(shù)據(jù)處理設(shè)備結(jié)構(gòu)的功能方框圖20是詳細(xì)說明普通分類處理設(shè)備的功能方框圖;圖21是說明在普通分流處理中數(shù)據(jù)的流動的圖示。
(第一實(shí)施例)以下將描述本發(fā)明的一實(shí)施例。在以下的實(shí)施例中,為描述簡單起見,假定在時(shí)間共享的基礎(chǔ)上并行地執(zhí)行的多道處理的道數(shù)為2。但是,一般來說,在這一實(shí)施例的基礎(chǔ)上能夠容易地實(shí)現(xiàn)3道或3道以上的多道處理。此外,被數(shù)據(jù)處理設(shè)備并行地多道執(zhí)行的數(shù)據(jù)庫處理此后將明確地稱為“作業(yè)”。在一道多道處理的情形中,僅作業(yè)0被數(shù)據(jù)處理設(shè)備進(jìn)行多道處理,在兩道多道處理的情形中,作業(yè)0和作業(yè)1被數(shù)據(jù)處理設(shè)備按分時(shí)方式進(jìn)行多道處理。在作業(yè)0和作業(yè)1被數(shù)據(jù)處理設(shè)備按分時(shí)方式通過轉(zhuǎn)換地進(jìn)行多道處理時(shí),被執(zhí)行的每一作業(yè)的一部分—它構(gòu)成轉(zhuǎn)換的單元—將稱為“作業(yè)步”。此外,如以后將要說明的那樣,鑒于分類處理設(shè)備的特征,不同的作業(yè)在數(shù)據(jù)處理設(shè)備內(nèi)的數(shù)據(jù)輸入側(cè)(即對于數(shù)據(jù)處理設(shè)備的寫入)和數(shù)據(jù)輸出側(cè)(即從數(shù)據(jù)處理設(shè)備讀出)被執(zhí)行,所以作業(yè)和作業(yè)步將分別稱為寫入作業(yè)和寫入側(cè)作業(yè)步,以及讀出側(cè)作業(yè)和讀出側(cè)作業(yè)步。
圖1是說明本發(fā)明實(shí)施例的分類處理的概要的圖示。在圖1中,標(biāo)號210表示多輸入控制單元,它從外界接收多個(gè)作業(yè)數(shù)據(jù)、在時(shí)間共享的基礎(chǔ)上將作業(yè)數(shù)據(jù)分成小數(shù)據(jù)塊(即被分成作業(yè)步)和將它們輸出給分類處理單元400。標(biāo)號220表示多輸出控制單元,它集中地輸出每一作業(yè)的被進(jìn)行多次處理的小數(shù)據(jù)塊(即作業(yè)步數(shù)據(jù)),這些小數(shù)據(jù)塊已被分類處理單元400進(jìn)行分類,是從分類處理單元400接收的。標(biāo)號400表示對每-塊接收的小數(shù)據(jù)塊(作業(yè)步數(shù)據(jù))進(jìn)行分類的分類處理單元。
標(biāo)號D1和D2表示由CPU等傳送的、要被分類的作業(yè)數(shù)據(jù),D1表示作業(yè)0的數(shù)據(jù),D2表示作業(yè)1的數(shù)據(jù)。數(shù)據(jù)D1和數(shù)據(jù)D2是被進(jìn)行不同分類處理的數(shù)據(jù)。
標(biāo)號D3和D5表示通過劃分作業(yè)0產(chǎn)生的作業(yè)步的數(shù)據(jù),D3表示作業(yè)步2的數(shù)據(jù),D5表示作業(yè)表1的數(shù)據(jù)。標(biāo)號D5表示作業(yè)1的作業(yè)步1的數(shù)據(jù)。
標(biāo)號D6表示分類處理單元400分類數(shù)據(jù)D3所獲得的數(shù)據(jù);D7表示發(fā)類數(shù)據(jù)D4獲得的數(shù)據(jù); D8表示分類數(shù)據(jù)D5獲得的數(shù)據(jù)。數(shù)據(jù)D3至D8被分別提供了表示作業(yè)步的開始和初始化分類處理單元400的標(biāo)題H,還被提供了表示作業(yè)步結(jié)束的結(jié)束數(shù)據(jù)E。標(biāo)號D9表示多輸出控制單元220組合與作業(yè)0有關(guān)的數(shù)據(jù)D6和數(shù)據(jù)D8而獲得的分類數(shù)據(jù)。標(biāo)號D10表示通過組合作業(yè)1的數(shù)據(jù)獲得的分類數(shù)據(jù)(在這-情形中,與作業(yè)1有關(guān)的數(shù)據(jù)只是D7)。
以下將簡要地描述操作。假定能夠接受多個(gè)分類處理的多輸入控制單元210首先接受與作業(yè)0有關(guān)的數(shù)據(jù)D1,然后接受與作業(yè)1有關(guān)的數(shù)據(jù)D2。數(shù)據(jù)D1的值A(chǔ)1-A9和數(shù)據(jù)D2的值B1-B4意味著數(shù)字越大則值也越大,假定分類處理是按降序重排數(shù)據(jù)的分類處理。(多輸入控制單元210的操作)多輸入控制單元210從它已接受的作業(yè)中選擇一個(gè)作業(yè)并將其輸出給分類處理單元400。在此,多輸入控制單元210輸出它早先接受的作業(yè)1的數(shù)據(jù)D1。在一個(gè)作業(yè)被分成多個(gè)作業(yè)步之后,在進(jìn)行輸出時(shí)將輸出作業(yè)步。例如,假定在預(yù)定時(shí)間t[S]內(nèi)讀出與作業(yè)0有關(guān)的數(shù)據(jù)D1,然后將其輸出。在3個(gè)數(shù)據(jù)A1-A3已被讀出的時(shí)刻已經(jīng)過去了時(shí)間t[S],隨后標(biāo)題H和結(jié)束數(shù)據(jù)E被附加到數(shù)據(jù)上,然后被輸出給分類處理單元400(數(shù)據(jù)D5)。
在接著的時(shí)間t[S]內(nèi),與作業(yè)1有關(guān)的數(shù)據(jù)被讀出并被同樣地輸出給分類處理單元400(數(shù)據(jù)D4)。在此期間,在進(jìn)行這一讀出時(shí),分類處理單元400對作業(yè)步1的先前數(shù)據(jù)D5執(zhí)行分類處理。
在接著的時(shí)間t[S]內(nèi),多輸入控制單元210開始讀出接著的作業(yè)的作業(yè)步。由于只有兩個(gè)作業(yè)被接受,所以操作又返回到作業(yè)0,作業(yè)0的數(shù)據(jù)D1被讀出作為作業(yè)步2的數(shù)據(jù)D3。然后按照與上述方法相同的方法附加標(biāo)題H和結(jié)束數(shù)據(jù)E,就完成了作業(yè)步2的數(shù)據(jù)D3,將其輸出給分類處理單元400。在此期間,在進(jìn)行這一讀出時(shí),分類處理單元400對作業(yè)步1的先前數(shù)據(jù)D4執(zhí)行分類處理。(分類處理單元400的操作)分類處理單元400從多輸入控制單元210接收數(shù)據(jù)D3-D5,對于每一作業(yè)步,對它們進(jìn)行分類并將它們輸出。例如,分類處理單元400按照順序B4、B1和B2接收作業(yè)1的數(shù)據(jù)D4、對它們進(jìn)行分類并按照順序B1、B2和B4將它們輸出。(多輸出控制單元220的操作)多輸出控制單元220從分類處理單元400接收對每一作業(yè)步分類的數(shù)據(jù)并對每一作業(yè)步集中地輸出它們。因此,多輸出控制單元220首先接收作業(yè)0的作業(yè)步1的數(shù)據(jù)D6,然后接收作業(yè)1的數(shù)據(jù)D7,接收作業(yè)步2的數(shù)據(jù)D8。多輸出控制單元220將作業(yè)步2的數(shù)據(jù)D7附加到作業(yè)0的作業(yè)步1的數(shù)據(jù)D6的末端,將其作為數(shù)據(jù)D9進(jìn)行輸出。在此期間,作業(yè)1的數(shù)據(jù)作為不同的數(shù)據(jù)D10被輸出。
在以上的描述中,雖然利用時(shí)間t[S]作為通過劃分作業(yè)來產(chǎn)生作業(yè)步的方法的基準(zhǔn)來劃分作業(yè),但可以利用輸入或輸出數(shù)據(jù)的數(shù)據(jù)量作為基準(zhǔn)來劃分作業(yè)。例如,在分類處理單元400每次可分類的數(shù)據(jù)的數(shù)據(jù)量為固定的場合中,可以在這一數(shù)據(jù)量的輸出結(jié)束的時(shí)刻將作業(yè)分成作業(yè)步。在圖1的情形中,可以說每當(dāng)輸出了3個(gè)數(shù)據(jù),作業(yè)就被分成作業(yè)步。
如果作業(yè)的數(shù)據(jù)利用作業(yè)步來劃分,則由于如在數(shù)據(jù)D9的情形中那樣分類結(jié)果變成數(shù)據(jù)被部分地分類的分類結(jié)果(在D9中,數(shù)據(jù)被分成具有在A9和A1之間的邊界的兩數(shù)據(jù)塊),所以需要將它們合并成為一個(gè)分類數(shù)據(jù)。因此,由于要進(jìn)行合并處理,所以如果數(shù)據(jù)劃分的數(shù)目較小將是有益的。如果將數(shù)據(jù)量用作將作業(yè)分成作業(yè)步的基準(zhǔn),就能夠?qū)⒆鳂I(yè)步的大小調(diào)整為分類處理單元400每次能夠分類的最大量,能夠如上所述地將數(shù)據(jù)劃分的數(shù)目減至最小,由此能夠減小合并處理所涉及的處理量。
在以下的情形中將特別看出利用時(shí)間作為基準(zhǔn)將作業(yè)分成作業(yè)步的優(yōu)點(diǎn)。當(dāng)以后將描述的、具有數(shù)據(jù)庫處理設(shè)備3的數(shù)據(jù)處理設(shè)備1用來執(zhí)行對數(shù)據(jù)進(jìn)行檢索的作業(yè)、然后檢索數(shù)據(jù)被進(jìn)行分類時(shí),會出現(xiàn)需花費(fèi)較長時(shí)間來收集將由多輸入控制單元210輸出給分類處理單元400的數(shù)據(jù)的情形。例如,假定通過檢索10000個(gè)數(shù)據(jù)獲得的數(shù)據(jù)個(gè)數(shù)為10并需花費(fèi)相當(dāng)長的時(shí)間來檢索10000個(gè)數(shù)據(jù)。在利用數(shù)據(jù)量作為基準(zhǔn)來將作業(yè)分成作業(yè)步的方法中,一般來說,在每次當(dāng)例如已收集到100個(gè)數(shù)據(jù)時(shí)將作業(yè)分成作業(yè)步的情形中,除非收集到該作業(yè)的100個(gè)數(shù)據(jù)或全部的檢索已結(jié)束,操作不能夠進(jìn)行到接著的作業(yè)步。如此一來,不花費(fèi)太多時(shí)間的其它作業(yè)必須繼續(xù)等待直到這一作業(yè)步結(jié)束為止,因此處理能力下降。在這樣的情形中,每次當(dāng)已過去固定時(shí)間時(shí)將作業(yè)分成作業(yè)步的方法是有利的,可以通過使其它作業(yè)不能夠利用分類處理單元400來防止一個(gè)作業(yè)長時(shí)間地一直利用分類處理單元400(即據(jù)庫處理設(shè)備3)。因此,改善了總的處理能力。
數(shù)據(jù)處理設(shè)備1組合了利用數(shù)據(jù)量作為基準(zhǔn)將作業(yè)分成作業(yè)步的方法和利用時(shí)間作為基準(zhǔn)將作業(yè)分成作業(yè)步的方法,以便具有這兩種方法的優(yōu)點(diǎn)。
此外,由于已通過將數(shù)據(jù)分成多個(gè)作業(yè)步來對分類數(shù)據(jù)D9進(jìn)行分類,所以已如上所述地在數(shù)據(jù)D9被分成多個(gè)數(shù)據(jù)塊的狀態(tài)中對其進(jìn)行了分類。確實(shí)如此,由于作業(yè)0的數(shù)據(jù)總的來說未被分類,所以需要在分類狀態(tài)中設(shè)定全部數(shù)據(jù)D9(這將被稱為合并處理)。這一處理是由以后將要描述的數(shù)據(jù)庫處理設(shè)備3來實(shí)現(xiàn)。為了描述這一處理的一實(shí)例,首先對數(shù)據(jù)A2和數(shù)據(jù)A1進(jìn)行比較,數(shù)據(jù)A2和數(shù)據(jù)A1分別在數(shù)據(jù)D9的作業(yè)步1和2的開始,并將較小的數(shù)據(jù)A1設(shè)定為初始值。然后比較在A1后的數(shù)據(jù)A3和A2,并將較小的數(shù)據(jù)A2設(shè)定為隨后的數(shù)據(jù)。類似地,按以下方式重復(fù)該操作以便實(shí)現(xiàn)合并處理。(從頭描述這一處理)A2A1A1A2A3A2A6A3A3A6A4A4A6A9A6A9這就合并了作業(yè)0的數(shù)據(jù),因此完成了分類。最后對A6和A9進(jìn)行比較是因?yàn)檫@一事實(shí),即由于在圖1的數(shù)據(jù)D9的A1的右手側(cè)的數(shù)據(jù)(A1、A3和A4)已消失,所以需要比較在A1的左手側(cè)和仍然未被作為分類數(shù)據(jù)的數(shù)據(jù)。
為了描述有把握起見,在本發(fā)明中不進(jìn)行上述合并處理來將作業(yè)分成作業(yè)步。在普通的分類處理中還需要類似的合并處理。這樣做的理由是因?yàn)閷Ψ诸愄幚韱卧?00(圖18所示普通數(shù)據(jù)處理設(shè)備中的分類處理設(shè)備4)每次能夠分類的數(shù)據(jù)量有限制,所以必須進(jìn)行這一數(shù)據(jù)劃分,在處理超過分類處理單元400的數(shù)據(jù)容量的數(shù)據(jù)的情況下,必須在一項(xiàng)數(shù)據(jù)被分成多個(gè)數(shù)據(jù)之后進(jìn)行分類。
對于普通的分類處理,在執(zhí)行完初始分配的作業(yè)之后,開始執(zhí)行隨后的作業(yè)。為此,除非相應(yīng)于上述作業(yè)0的分類和上述合并處理已結(jié)束,否則不能夠執(zhí)行相應(yīng)于作業(yè)1的處理。因此,只有在過去較長時(shí)間之后才能夠得到作業(yè)1的結(jié)果。
相反地,如圖1所示,在本發(fā)明的分類處理中,多輸出控制單元220在作業(yè)0的作業(yè)步1被輸出之后輸出與作業(yè)1有關(guān)的作業(yè)步1。由于作業(yè)1的作業(yè)步1包括作業(yè)1的全部處理結(jié)果,所以就在這一時(shí)刻結(jié)束了作業(yè)1的處理。就是說,即使需要較長時(shí)間進(jìn)行處理的作業(yè)0沒有結(jié)束,但能夠獲得作業(yè)1的結(jié)果,因此在分類處理中能夠?qū)崿F(xiàn)強(qiáng)的處理能力。(數(shù)據(jù)處理設(shè)備1的細(xì)節(jié))以下詳細(xì)描述本發(fā)明的數(shù)據(jù)處理設(shè)備1。該數(shù)據(jù)處理設(shè)備1執(zhí)行相應(yīng)在于上述分類處理的操作,但還具有用來執(zhí)行不同于分類處理的處理(數(shù)據(jù)的合并處理、檢索處理等)的數(shù)據(jù)庫處理設(shè)備3,以便能夠并行地執(zhí)行分類處理和不同于分類處理的數(shù)據(jù)庫處理。
圖2是說明本發(fā)明的數(shù)據(jù)庫處理系統(tǒng)的整體配置的圖示。與圖18的標(biāo)號相同的標(biāo)號表示相同或相應(yīng)的部分,標(biāo)號50表示初始化數(shù)據(jù)處理設(shè)備1并改變多道處理的道數(shù)等的連接線;標(biāo)號57和52分別表示相對于作業(yè)0輸入數(shù)據(jù)和輸出數(shù)據(jù)的連接線;標(biāo)號53和54分別表示相對于作業(yè)1輸入數(shù)據(jù)和輸出數(shù)據(jù)的連接線;地址被分別分配給連接線50至54,通過指定這些地址來實(shí)現(xiàn)利用連接線50至54對控制器2的訪問。標(biāo)號55至59表示暫時(shí)保留從CPU7傳送到這些連接線50至54的輸入/輸出命令的隊(duì)列。相應(yīng)于各個(gè)地址的輸入/輸出命令利用連接線60從CPU7傳出,這些輸入/輸出命令被存儲在相應(yīng)的隊(duì)列中。此外,成功和出錯(cuò)的狀態(tài)以及對于這些輸入/輸出命令處理的狀態(tài)也通過這一連接線60通知給主計(jì)算機(jī)。
在數(shù)據(jù)處理設(shè)備1的控制器2中,標(biāo)號20表示對CPU7命令的多個(gè)處理操作進(jìn)行多道處理的多道處理控制單元;21表示對與數(shù)據(jù)輸入有關(guān)的處理進(jìn)行控制的輸入數(shù)據(jù)處理控制單元;22表示對與數(shù)據(jù)輸出有關(guān)的處理進(jìn)行控制的輸出數(shù)據(jù)處理控制單元;23表示傳送輸入/輸出命令和與在由多道處理控制單元20選擇的數(shù)據(jù)輸入側(cè)的處理有關(guān)的數(shù)據(jù)的連接線;24表示傳送輸入/輸出命令和與在由多道處理控制單元20選擇的數(shù)據(jù)輸出側(cè)的處理有關(guān)的數(shù)據(jù)的連接線。標(biāo)號25表示有選擇地將與輸入有關(guān)的多條連接線的某一條連接連接線等(連接線51和隊(duì)列56;連接線53和隊(duì)列58)連接到數(shù)據(jù)庫處理設(shè)備3的開關(guān),標(biāo)號26表示連接到使數(shù)據(jù)能夠從數(shù)據(jù)庫處理設(shè)備3返回到CPU7并相應(yīng)于指定處理結(jié)束狀態(tài)的地址的連接線的開關(guān)。
在該第一實(shí)施例中,主計(jì)算機(jī)9的輸入/輸出設(shè)備地址被分配給數(shù)據(jù)處理設(shè)備1本身,假定將0、1、2、3和4賦予在數(shù)據(jù)處理設(shè)備1內(nèi)的連接線50、51、52、53和54作為單位地址。例如,如果數(shù)據(jù)處理設(shè)備1的輸入/輸出設(shè)備地址是12,則處理設(shè)備1與總線5的連接就分別被表示為(12,0),(12,1),(12,2),(12,3),(12,4)。以下假定只有一臺數(shù)據(jù)處理設(shè)備1與主計(jì)算機(jī)9連接,在表示地址時(shí)省略在這些地址中的輸入/輸出設(shè)備地址,它們被簡單地表示為(0),(1),(2),(3)和(4)。此外,還假定在地址(1)處至計(jì)算機(jī)9和數(shù)據(jù)處理設(shè)備1之間數(shù)據(jù)的輸入和輸出例如是指利用連接線51的數(shù)據(jù)輸入和輸出。
地址(0)用來控制數(shù)據(jù)處理設(shè)備1;地址(1)和(3)用來相對于數(shù)據(jù)處理設(shè)備1從CPU7輸入數(shù)據(jù),即沿寫入方向傳送數(shù)據(jù);地址(2)和(4)用來從數(shù)據(jù)處理設(shè)備1向主計(jì)算機(jī)9輸出數(shù)據(jù),即沿續(xù)出方向傳送數(shù)據(jù)。
在該第一實(shí)施例中,如圖3所示,CPU7給數(shù)據(jù)處理設(shè)備1發(fā)送輸入/輸出命令。就是說,通過將地址(0)指定給數(shù)據(jù)處理設(shè)備1,CPU7發(fā)出再啟動命令來命令操作開始。在這個(gè)時(shí)候,多道處理的道數(shù)被設(shè)定為1或2。例如,在通過設(shè)定多道處理的道數(shù)為1來啟動數(shù)據(jù)處理設(shè)備1的情形中,隨后只使地址(1)和(2)的集合為可操作的,但在通過設(shè)定多道處理的道數(shù)為2來啟動數(shù)據(jù)處理設(shè)備1的情形中,隨后將使地址(1)和(2)的集合以及地址(3)和(4)的集合為可操作的。此后假定根據(jù)地址(1)和(2)的集合及地址(3)和(4)的集合分別執(zhí)行作業(yè)0和作業(yè)1。
以下將描述使用主計(jì)算機(jī)9中的這一數(shù)據(jù)處理設(shè)備的基本方法。甚至計(jì)算機(jī)9已提出利用數(shù)據(jù)處理設(shè)備1進(jìn)行處理的請求時(shí),CPU7從地址(1)和(2)的集合和地址(3)和(4)的集合中選擇可操作和當(dāng)前未使用的集修合。如果選擇了地址(1)和(2)的集合,CPU7就發(fā)出打開命令給每一個(gè)地址(1)和(2),并通知數(shù)據(jù)處理設(shè)備進(jìn)行初始化處理。CPU7然后多次地發(fā)出xfer命令,并向數(shù)據(jù)處理設(shè)備1傳送數(shù)據(jù)。在這個(gè)時(shí)候,對于地址(2),數(shù)據(jù)從CPU7輸入到數(shù)據(jù)處理設(shè)備1,對于地址(2),數(shù)據(jù)從數(shù)據(jù)處理設(shè)備1輸出給CPU7。一旦結(jié)束處理,CPU7就發(fā)出關(guān)閉命令給每一地址,命令結(jié)束處理。如上所述,為了執(zhí)行某一特定的數(shù)據(jù)處理,需要相對于向數(shù)據(jù)處理設(shè)備1的輸入和從數(shù)據(jù)處理設(shè)備1的輸出執(zhí)行一串輸入/輸出命令“打開xfer xfer…關(guān)閉”在上面描述中,從主計(jì)算機(jī)的觀點(diǎn)來看,相對于地址集合的整個(gè)處理序列,即利用多個(gè)xfer的打開至關(guān)閉構(gòu)成了一個(gè)處理,即一個(gè)作業(yè)。此外,將這一處理序列“打開xfer xfer…xfer開閉”分成若干段而獲得的部分對應(yīng)于作業(yè)步。這一關(guān)系如圖4所示。將作業(yè)分成作業(yè)步是通過利用作業(yè)步可允許的處理時(shí)間或預(yù)定數(shù)據(jù)量作為基準(zhǔn)來實(shí)現(xiàn)的。以后將描述這一劃分。作為實(shí)現(xiàn)這一劃分的另一方法,可以在發(fā)出的輸入/輸出命令的個(gè)數(shù)已達(dá)到固定數(shù)值時(shí)轉(zhuǎn)換作業(yè)。
以下將描述在分類處理設(shè)備4中進(jìn)行多道處理的裝置。
首先,鑒于分類處理設(shè)備的特性,當(dāng)在分類處理設(shè)備4中寫入屬于作業(yè)0的數(shù)據(jù)、然后寫入屬于另一作業(yè)1的數(shù)據(jù)時(shí),需要同時(shí)地進(jìn)行作業(yè)1的寫入和在分類處理設(shè)備4中停留的作業(yè)0的數(shù)據(jù)的讀出。因此,在就分類處理設(shè)備4而論的多道處理中,需要同時(shí)執(zhí)行不同的作業(yè)來處理(在寫入側(cè)的)數(shù)據(jù)輸入和處理(在讀出側(cè)的)數(shù)據(jù)輸出。
這一過程如圖5所示。在圖5中,數(shù)字61和62分別表示被劃分作業(yè)步的數(shù)據(jù),數(shù)字61表示將要寫入分類處理設(shè)備4的寫入數(shù)據(jù),數(shù)字62表示將要從分類處理設(shè)備4中讀出的讀出數(shù)據(jù)。數(shù)字63表示在分類處理設(shè)備4中的數(shù)據(jù)。此外,數(shù)據(jù)61、62和63中的空白部分表示無數(shù)據(jù),陰影部分64和65表示有數(shù)據(jù)。標(biāo)號64表示的陰影部分是作業(yè)0的數(shù)據(jù),標(biāo)號65表示的陰影部分是作業(yè)1的數(shù)據(jù)。
以下將描述將數(shù)據(jù)輸入到分類處理設(shè)備4和從分類處理設(shè)備4輸出數(shù)據(jù)的操作。在圖5中,如步驟S20所以,首先在分類處理設(shè)備4內(nèi)無數(shù)據(jù)的狀態(tài)下開始操作。
然后操作到達(dá)步驟S21,輸入作業(yè)0的數(shù)據(jù)。正如已參看圖20描述的那樣,這一數(shù)據(jù)是作業(yè)步1的數(shù)據(jù),該輸入數(shù)據(jù)被分類處理器利用第一級分類處理器41陸續(xù)地累加或處理。
然后在步驟S22中將作業(yè)步1(作業(yè)0)的全部數(shù)據(jù)存儲在分類處理設(shè)備4中。在這個(gè)時(shí)候,在寫入側(cè)將作業(yè)1的數(shù)據(jù)作為寫入數(shù)據(jù)61來進(jìn)行準(zhǔn)備。
然后操作到達(dá)步驟S23,在分類處理設(shè)備4的寫入側(cè)開始作業(yè)1的作業(yè)步1的數(shù)據(jù)的寫入。因此,在這個(gè)時(shí)候,作業(yè)0和作業(yè)1的數(shù)據(jù)都出現(xiàn)在分類處理設(shè)備4中。在此期間在分類處理設(shè)備4的讀出側(cè)開始輸出作業(yè)0的數(shù)據(jù)。
在步驟S24,作業(yè)0的作業(yè)步1的全部處理都已結(jié)束,作業(yè)1的數(shù)據(jù)保留在分類處理設(shè)備4中。
然后操作到達(dá)步驟S25,在分類處理設(shè)備4的寫入側(cè)又開始寫入作業(yè)0的數(shù)據(jù)。作業(yè)0的數(shù)據(jù)被改變?yōu)樽鳂I(yè)步2的數(shù)據(jù)。在此期間在分類處理設(shè)備4的讀出側(cè)讀出作業(yè)步1(作業(yè)1)的數(shù)據(jù)。
在步驟S26,作業(yè)1的作業(yè)步1的全部處理都已結(jié)束。
此后通過按照與上述方法相同的方法交替地改變作業(yè)來發(fā)類處理。
由于如在上述步驟S23和S25中那樣會出現(xiàn)正在被處理的作業(yè)在寫入側(cè)和讀出側(cè)不相同的情況,所以存在控制分類處理設(shè)備4的數(shù)據(jù)庫處理3和控制器2不能夠簡單地改變它們所處理的作業(yè)的問題。
在本發(fā)明中,通過分別將分類處理設(shè)備用于將數(shù)據(jù)寫入發(fā)類處理設(shè)備4的處理(作業(yè))和用于從分類處理設(shè)備4讀出數(shù)據(jù)的處理(作業(yè))來對處理進(jìn)行管理而解決了上述問題。在此能夠隨意地確定哪一個(gè)作將要被選作隨后的寫入側(cè)作業(yè),但讀出側(cè)作業(yè)被限制為正在被分類處理設(shè)備4中的最后級分類處理器(在圖20所示分類處理設(shè)備4的情形中的第四級分類處理器)處理的作業(yè)。
相反地,數(shù)據(jù)庫處理設(shè)備3沒有這種寫入側(cè)和讀出側(cè)之間的時(shí)間滯后,需要給這兩側(cè)分配相同的作業(yè)。兩種情形之間的這一不同如圖6和7所示。
圖6表示在使用分類處理設(shè)備4的情形中被控制器2控制的作業(yè)之間的關(guān)系在使用分類處理設(shè)備4的情況下,按流水線的方式在該分類處理設(shè)備4中執(zhí)行分類處理,它一直進(jìn)行到從最后級分類處理器輸出了分類數(shù)據(jù)為止。因此,如圖6所示,出現(xiàn)了寫入側(cè)和讀出側(cè)的作業(yè)不相同的現(xiàn)象。
相反地,在不使用分類處理設(shè)備4而由數(shù)據(jù)庫處理設(shè)備3進(jìn)行處理的情形中,不按照流水線的方式進(jìn)行處理。為此,如圖7所示,讀出側(cè)的作業(yè)和寫入側(cè)的作業(yè)都相同,在一個(gè)作業(yè)步的處理結(jié)果正在被輸出給讀出側(cè)時(shí),不從寫入側(cè)讀出隨后作業(yè)步的數(shù)據(jù)。就是說,數(shù)據(jù)庫處理設(shè)備3在給定時(shí)刻只執(zhí)行一個(gè)作業(yè)。為此,不會出現(xiàn)讀出側(cè)的作業(yè)和寫入側(cè)的作業(yè)不相同的情況。
(但是,在數(shù)據(jù)庫處理設(shè)備3由多個(gè)處理器構(gòu)成的情形中,可以提供這樣的結(jié)構(gòu)以便在讀出側(cè)的處理與寫入側(cè)的處理不同。)(作業(yè)轉(zhuǎn)換的控制)實(shí)際上,這兩種處理(使用分類處理設(shè)備4的處理和不使用分類處理設(shè)備4的處理)被組合起來并按照任意次序被執(zhí)行,因此需要根據(jù)處理的類型對輸入和輸出進(jìn)行控制。
為此,根據(jù)以下控制規(guī)則控制處理。
*利用多道處理控制單元20確定作業(yè)邊界和作業(yè)步邊界1)多道處理控制單元20根據(jù)在輸入/輸出命令的處理結(jié)束時(shí)由輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22本身返回的結(jié)束狀態(tài)確定作業(yè)的開始、作業(yè)的結(jié)束以及作業(yè)步的結(jié)束。就是說,當(dāng)輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22在輸入/輸出命令的處理結(jié)束時(shí)傳送了JSEND或JBEND,已接收到JSEND或JBEND的多道處理控制單元20就確認(rèn)相關(guān)作業(yè)步或相關(guān)作業(yè)的結(jié)束。2)此外,多道處理控制單元20監(jiān)測分配給每一作業(yè)步的時(shí)間,在該時(shí)間結(jié)束(時(shí)間片結(jié)束)時(shí),多道處理控制單元20在當(dāng)前作業(yè)步之后的傳送輸入/輸出命令的時(shí)刻將JSEND作為標(biāo)記進(jìn)行傳送。這就要求相對于輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22異常結(jié)束多道處理控制單元20命令的作業(yè)步。
*利用輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22管理作業(yè)狀態(tài)3-1)確定作業(yè)步的結(jié)束一旦確認(rèn)已到達(dá)作業(yè)步邊界,輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22就在命令處理結(jié)束的時(shí)刻將JSEND作為狀態(tài)進(jìn)行設(shè)定。這包括以下兩種情況。
(1)使用分類處理設(shè)備4的數(shù)據(jù)輸入處理在寫入側(cè)被執(zhí)行,已達(dá)到分類處理設(shè)備4的最大處理容量的向分類處理設(shè)備4的數(shù)據(jù)輸入已經(jīng)結(jié)束(在輸入給分類處理設(shè)備4的數(shù)據(jù)的末尾附加上結(jié)束標(biāo)記)。
(2)使用分類處理設(shè)備4的數(shù)據(jù)輸出處理在讀出側(cè)被執(zhí)行,在分類處理設(shè)備4的數(shù)據(jù)中檢測到結(jié)束標(biāo)記。
當(dāng)輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22已接收到關(guān)閉命令,就認(rèn)為作業(yè)已經(jīng)結(jié)束。輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22在輸入/輸出命令的處理結(jié)束時(shí)傳送JBEND。
*利用輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22控制作業(yè)和作業(yè)步的轉(zhuǎn)換。
當(dāng)輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22已從多道處理控制單元20接收了JSEND,輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22就如下地進(jìn)行操作。
(1)在未使用分類處理設(shè)備4的情況下(數(shù)據(jù)的合并處理等只由數(shù)據(jù)庫處理設(shè)備3來實(shí)現(xiàn))在這一情況下,作業(yè)(步)被即時(shí)地轉(zhuǎn)換。讀出側(cè)和寫入側(cè)都必然地遵循指令(2)在使用分類處理設(shè)備4的情況下如果輸出數(shù)據(jù)處理控制單元22(讀出側(cè))在檢測到結(jié)束數(shù)據(jù)之前檢測到JSEN標(biāo)記,如果在當(dāng)前作業(yè)步結(jié)束之前根據(jù)JSEND結(jié)束當(dāng)前作業(yè)步,則3個(gè)或3個(gè)以上的作業(yè)數(shù)據(jù)將被保留在分類處理設(shè)備4中。因此,讀出側(cè)必然地忽略這一指令,執(zhí)行作業(yè)步直到結(jié)束為止,一旦作業(yè)步結(jié)束就轉(zhuǎn)換作業(yè)(步)。
在此期間,如果輸入數(shù)據(jù)處理控制單元21(寫入側(cè))忽略JSEND標(biāo)記,則由于復(fù)雜的選擇處理等的緣故,在寫入側(cè)負(fù)載較重時(shí)就不能夠轉(zhuǎn)換作業(yè)。因此,寫入側(cè)必然地遵循指令,中斷當(dāng)前作業(yè)(步),并將作業(yè)(步)轉(zhuǎn)換至隨后的作業(yè)(步)。(在分類處理設(shè)備4中丟棄數(shù)據(jù))1)在出現(xiàn)誤差或消除時(shí)輸入數(shù)據(jù)處理控制單元21和輸出數(shù)據(jù)處理控制單元22的處理例如,現(xiàn)在假定在分類處理設(shè)備4中有兩個(gè)作業(yè),作業(yè)0在寫入側(cè)被處理,而作業(yè)1在讀出側(cè)被處理。在這個(gè)時(shí)候,如果假定CPU7已發(fā)送消除作業(yè)0的消除命令并由此需要強(qiáng)制地結(jié)束作業(yè)0,則由于被消除的作業(yè)0的數(shù)據(jù)仍在分類處理設(shè)備4中,所以需要丟棄作業(yè)0的不必需的數(shù)據(jù)。
通過在處理的中途發(fā)出關(guān)閉命令來實(shí)現(xiàn)消除。一旦在處理尚未結(jié)束的時(shí)刻接收到關(guān)閉命令,輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22就返回JBEND(作業(yè)已結(jié)束)+CAN(消除已發(fā)出)作為結(jié)束狀態(tài),以便結(jié)束作業(yè)。
在出現(xiàn)誤差的情形中,以下地進(jìn)行處理。
a)在發(fā)出打開命令時(shí)出現(xiàn)誤差的情況下,輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22發(fā)出誤差報(bào)告,然后結(jié)束與該作業(yè)有關(guān)的處理。在這個(gè)時(shí)候,報(bào)告給多道處理控制單元20的結(jié)束狀態(tài)是JBEND+ERR(出現(xiàn)誤差)。
b)在發(fā)出xfer命令時(shí)出現(xiàn)誤差的情況下,輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22將JSEND(作業(yè)步結(jié)束)+ERR報(bào)告給多道處理控制單元20作為結(jié)束狀態(tài),然后等待關(guān)閉命令。在等待關(guān)閉命令接收的xfer命令被忽略。
c)在發(fā)出關(guān)閉命令時(shí)出現(xiàn)誤差的情況下,輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22將誤差報(bào)告給多道處理控制單元20,并結(jié)束處理。在這個(gè)時(shí)候,報(bào)告結(jié)束狀態(tài)JBEND+ERR。
2)在出現(xiàn)誤差或消除之后在分類處理設(shè)備4中丟棄數(shù)據(jù)例如,假定在讀出側(cè)處理作業(yè)0的作業(yè)步1,在寫入側(cè)處理同一作業(yè)0的作業(yè)步2。在這個(gè)時(shí)候中,即使在讀出側(cè)的作業(yè)步1的處理中檢測到誤差并且作業(yè)步1的數(shù)據(jù)被多道處理控制單元20丟棄,作業(yè)步2也在寫入側(cè)被處理,因此作業(yè)0的數(shù)據(jù)保留在分類處理設(shè)備4中。需要進(jìn)一步丟棄在讀出側(cè)的這一數(shù)據(jù)。
已檢測到誤差或消除的輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22將上述結(jié)束狀態(tài)返回給多道處理控制單元20。當(dāng)多道處理控制單元20在作業(yè)步邊界處檢測到該狀態(tài)時(shí),多道處理控制單元20設(shè)置標(biāo)記來表示在處理發(fā)送給相關(guān)單元的輸入/輸出命令時(shí)將忽略隨后的xfer命令。此外,多道處理控制單元20對于構(gòu)成作業(yè)的相關(guān)單元對的另一單元設(shè)定類似的狀態(tài)。當(dāng)具有這一標(biāo)記設(shè)定的輸入/輸出命令被傳送給輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22時(shí),輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22無條件地忽略它們,關(guān)閉命令除外。因此,當(dāng)該對的一個(gè)單元被停止時(shí),該對的另一單元將xfer命令作為NOP進(jìn)行處理,直到接收到關(guān)閉命令為止。
當(dāng)在讀出側(cè)進(jìn)行分類期間出現(xiàn)了誤差,如果數(shù)據(jù)是與哪一個(gè)相關(guān)的作業(yè)步正在被讀出有關(guān)的數(shù)據(jù),則在檢測到結(jié)束數(shù)據(jù)之前,輸出數(shù)據(jù)處理控制單元22的讀出側(cè)丟棄分類處理設(shè)備4的這一數(shù)據(jù),并結(jié)束該相關(guān)的作業(yè)步。類似地,當(dāng)在寫入側(cè)進(jìn)行分類期間出現(xiàn)了誤差,輸入數(shù)據(jù)處理控制單元21立即輸入結(jié)束標(biāo)記給分類處理設(shè)備4,停止后讀數(shù)據(jù)的輸入。因此,在相關(guān)作業(yè)步的末尾處,保證了只有寫入側(cè)寫入的數(shù)據(jù)保留在分類處理設(shè)備4內(nèi)。
在已出現(xiàn)誤差的作業(yè)步的未尾之后,在誤差出現(xiàn)在讀出側(cè)或?qū)懭雮?cè)的情形中,如果需要的話,多道處理控制單元20就自作主張地丟棄在寫入側(cè)被寫入的、保留在分類處理設(shè)備4中的數(shù)據(jù)。(如果誤差在讀出側(cè)出現(xiàn),讀出數(shù)據(jù)已如上所述地被丟棄。在此丟棄在隨后的作業(yè)步中在寫入側(cè)寫入的數(shù)據(jù)。)根據(jù)下表,可以理解需要多道處理控制單元進(jìn)行丟棄的情況。
表1
以后將參看圖8至11在上述概念的基礎(chǔ)上描述多道處理控制單元20的操作,參看圖12描述輸入數(shù)據(jù)處理控制單元21的操作,參看圖13描述輸出數(shù)據(jù)處理控制單元22的操作。
(圖8多路處理控制單元操作的部份1)圖8到圖10是用以解釋多路處理控制單元20的操作的流程圖。首先來解釋在流程圖中使用的各種規(guī)定。
jw當(dāng)前寫入側(cè)作業(yè)的識別號;j在寫入側(cè)下一個(gè)將要執(zhí)行的作業(yè)的識別號;jR在讀出側(cè)下一個(gè)將要執(zhí)行的作業(yè)的識別號;jN作業(yè)的數(shù)量;WU用于實(shí)際向CPU7傳送或?qū)嶋H從CPU7接收的數(shù)據(jù)輸入單元地址;RU用于實(shí)際向CPU7傳送或?qū)嶋H從CPU7接收的數(shù)據(jù)輸出單元地址;TS以一個(gè)作業(yè)步相關(guān)的寫入側(cè)起始時(shí)間;TS[1]以一個(gè)作業(yè)步相關(guān)的讀出側(cè)起始地址;F將要傳送給輸入數(shù)據(jù)處理控制單元的標(biāo)記;F[1]將要被輸出給輸出數(shù)據(jù)處理控制單元的標(biāo)記;EXD作業(yè)步結(jié)束計(jì)數(shù)器;U受處理支配的單元;JK[job][read]Side/Write Side]作業(yè)類型;JK作業(yè)0寫入側(cè)的作業(yè)類型;JK[1]作業(yè)1寫入側(cè)的作業(yè)類型;JK
[1]作業(yè)0讀出側(cè)的作業(yè)類型;JK[1][1]作業(yè)1讀出側(cè)的作業(yè)類型。
盡管對于每種作業(yè)而言,在讀出側(cè)和寫入側(cè)的多種作業(yè)的多種類型都是一樣的,但由于對于所述的多種作業(yè)的多種類型,處理的結(jié)束時(shí)間點(diǎn)通常是不同的,所以,所述多種作業(yè)的多種類型被分別單獨(dú)保存。所述多種作業(yè)的多種類型包括“none”、“Sort”、和“other tran Sort”。“None”意味著在相關(guān)作業(yè)號中不進(jìn)行處理,即相關(guān)作業(yè)號處于無用狀態(tài)。“Sort”意味著使用分類處理設(shè)備的作業(yè)正在被和相關(guān)作業(yè)號彼此相一致地進(jìn)行?!癘therthan Sort”意味著不使用分類處理設(shè)備的作業(yè)(組合、歸并等)正在被與相關(guān)作業(yè)號彼此相一致地執(zhí)行。
下面將給出有關(guān)操作的描述。
首先,當(dāng)在步驟S101開始操作時(shí),多處理控制單元20執(zhí)行在步驟S102中所使用變量的初始化。假設(shè)當(dāng)由CPU7實(shí)施所述多處理且處理控制用兩級我處理開始時(shí),多處理控制單元20把JW和JR設(shè)置為0,并在開始之后立即在寫入側(cè)和讀出側(cè)實(shí)現(xiàn)作業(yè)0的處理。另外,根據(jù)多處理的級數(shù)將JN初始化為2。應(yīng)當(dāng)注意,在此后可能會出現(xiàn)JW和JR呈現(xiàn)負(fù)值的情況,但這表明相應(yīng)的作業(yè)是不在塊的。傳送給輸入數(shù)據(jù)處理控制單元21和輸出數(shù)據(jù)處理控制單元22的標(biāo)記F
和F[1]各自被初始化為0。
接著,操作步進(jìn)到步驟S103,以對數(shù)據(jù)輸入單元變量WU,數(shù)據(jù)輸出單元變量RU以及需經(jīng)處理的單元變量U進(jìn)行初始化。
然后操作步進(jìn)到步驟S104,以檢查在塊寫入側(cè)作業(yè)是否出塊。若JW≥0,則操作進(jìn)入下一步S105。若JW是一個(gè)負(fù)值,則寫入側(cè)的作業(yè)不存在,操作跳到步驟S108以執(zhí)行讀出側(cè)處理。
在步驟S105,根據(jù)數(shù)據(jù)輸出單元變量RU,設(shè)定一個(gè)與被選擇用于下一個(gè)將要執(zhí)行的作業(yè)步的作業(yè)相對應(yīng)的寫入側(cè)單元地址。這些計(jì)算可以利用下面將要解釋的一個(gè)簡單公式的計(jì)算來獲得。另外,需經(jīng)處理的單元地址被連續(xù)存貯起來作為變量U以用于存貯單元地址。
提供單元地址和作業(yè)號之間的關(guān)系,以利用單元1和單元2組來執(zhí)行作業(yè)0,利用單元3和單元4組來執(zhí)行作業(yè)1。因此,能夠利用J*2+1來計(jì)算相對于作業(yè)J的寫入側(cè)單元。另外,可以利用(WU-1)/2來計(jì)算寫入側(cè)單元WU以屬的作業(yè)的作業(yè)號。由于可以很簡單地計(jì)算作業(yè)號和單元號之間的對應(yīng)關(guān)系,所以下面有時(shí)會給出諸為“對應(yīng)作業(yè)號”和“對應(yīng)單元號”的簡單描述。
另外,作為作業(yè)步計(jì)數(shù)器的END增加1,從而記錄下寫入側(cè)作業(yè)步已經(jīng)被排寫。這就是要去鑒別有三種作業(yè)步,即僅在讀出側(cè)執(zhí)行的作業(yè)步,僅在寫入側(cè)執(zhí)行的作業(yè)步和在讀出側(cè)及寫入側(cè)都要執(zhí)行的作業(yè)步。
接著,處理步進(jìn)到步驟S106,在該步驟中,借助于開關(guān)25,相當(dāng)于設(shè)置成數(shù)據(jù)輸入單元變量MU的一個(gè)單元的一個(gè)連接線被連接到連接線23上。
例如,若作業(yè)0被選擇用于JW,則數(shù)據(jù)輸入單元變量WU=JW*2+1=1,從而使單元1被選擇為MU。另外,開關(guān)26被轉(zhuǎn)換到與MU相對應(yīng)的連接線一側(cè),并且連接線51被連接到輸入數(shù)據(jù)處理控制單元21上。
作為另外一個(gè)例子,若作業(yè)0被選擇為JW,那么數(shù)據(jù)輸入單元變量MU=1,且所述連接線S1被連接到輸入數(shù)據(jù)處理控制單元21。
隨后,在步驟S107,在塊時(shí)間被設(shè)置為TS
。這是為測量從作業(yè)步開始可經(jīng)過的時(shí)間作準(zhǔn)備。
然后,操作步進(jìn)行步驟S108,步驟S108到步驟S111提供了與讀出側(cè)相關(guān)的處理。
首先,在步驟S108,檢查讀出側(cè)作業(yè)是否在塊。當(dāng)JR≥0,則確定作業(yè)是在塊的,那么操作步進(jìn)到步驟S109。反之,若JR是一個(gè)負(fù)值,則表明不存在讀出側(cè)處理,操作跳到圖9的步驟S112。
在步驟S109,根據(jù)數(shù)據(jù)輸出單元變量RU,選擇一個(gè)與被選擇用于下一個(gè)將被執(zhí)行的作業(yè)步的作業(yè)相對應(yīng)的讀出側(cè)單元地址。這些計(jì)算可以利用下面將要描述的一個(gè)簡單公式的計(jì)算來獲得。另外,需經(jīng)處理的單元地址被作為變量U而連續(xù)存貯起來,以用于存儲單元地址。
可以利用J*2+2來計(jì)算相對于作業(yè)J的讀出側(cè)單元。另外,讀出側(cè)單元RU所述的作業(yè)的作業(yè)號可以通過(RU-2)/2加以計(jì)算。
另外,作為作業(yè)步結(jié)束計(jì)數(shù)器的END加1,從而記錄下讀出側(cè)作業(yè)步已給排定。
接著,操作前進(jìn)到步驟S106,在該步驟中,對應(yīng)于被設(shè)定成數(shù)據(jù)輸出單元變量RU的所述單元的一個(gè)連接線借助于開關(guān)26被連接到連線24上。
例如,若作業(yè)○被選擇用于JW,那么,JR=JR*2÷2=2,從而可以使用數(shù)據(jù)輸出單元變量RU來代替用以表示單元2的值。另外,開關(guān)26被轉(zhuǎn)換到與RU相對應(yīng)的連線側(cè),且連線52被連接到輸出數(shù)據(jù)處理控制單元22。
作為另外一個(gè)例子,若作業(yè)1被選擇用于IR,那么數(shù)據(jù)輸出單元變量RU=4,且連線54被連接到輸出數(shù)據(jù)處理控制單元22。
接著,在步驟S111,當(dāng)前時(shí)間被設(shè)定為TS[1]。這是為測量從作業(yè)步開始以經(jīng)過的時(shí)間作準(zhǔn)備。
(圖9多路處理控制單元操作的部份2)接著,操作前進(jìn)到圖9的步驟S112,以開始執(zhí)行作業(yè)步。
首先,在步驟S112,從相應(yīng)隊(duì)列中檢索與RU或WU二者之一相應(yīng)的輸入/輸出命令,它的作用在于從所述隊(duì)列中檢索出相對于利用需經(jīng)處理的單元的變量U以指出的單元的輸入/輸出命令。然后,確定是否存在相對于由變量U以指示單元的輸入/輸出命令,如果這個(gè)輸入/輸出命令存在,操作前進(jìn)到步驟S113,反之操作跳到圖10的步驟S122,以執(zhí)行結(jié)束作業(yè)步的處理。
在步驟S113中,從所述隊(duì)列中取出在步驟S112中檢索到的輸入/輸出命令。
接著,操作前進(jìn)到步驟S114,在該步驟中,分別將每一個(gè)被取出命令所屬的單元,與所述命令相應(yīng)的作業(yè)號以及寫入側(cè)和讀出側(cè)之間的差異存入u、j和w。
然后操作前進(jìn)到步驟S115,以判斷在步驟S113中取出的命令是否是一個(gè)打開命令。若它是一個(gè)打開命令,則操作前進(jìn)到下一步驟S116,反之,則操作跳到圖10的步驟S122。
在步驟S116,將被指定為打開命令中自變量的作業(yè)處理類型存入JK[j][w]。另外,指令輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元執(zhí)行控制的標(biāo)記F的相關(guān)側(cè)(由w指定的讀出側(cè)/寫入側(cè))的值被初始化為零。
上述操作開始了相關(guān)作業(yè)。接著在步驟S117,檢查是否超過了一個(gè)規(guī)定的最大作業(yè)步執(zhí)行時(shí)間(MAXTIME)。這是通過將從在步驟S111中所記錄的時(shí)間開始所經(jīng)過的時(shí)間和MAXTIME二者之間加以比較來執(zhí)行的。
若MAXTIME已被超過,則操作前進(jìn)到下一步驟S118,反之,則操作跳到步驟S119。
在步驟S118,由于在步驟S117中已經(jīng)確定MAXTIME已被超過,所以標(biāo)記JSEND被置入標(biāo)記F[W]。其作用在于表示對于輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22來講,作業(yè)步已經(jīng)執(zhí)行完畢。
當(dāng)上述預(yù)定處理被完成時(shí),操作前進(jìn)到步驟S119,在該步驟中,根據(jù)當(dāng)前正在被執(zhí)行的作業(yè)步是涉及到了寫入側(cè)處理還是涉及到了輸出側(cè)處理所述操作進(jìn)行轉(zhuǎn)換。在寫入側(cè)處理的情況下,操作前進(jìn)到步驟S120,以將在步驟S113中取出的輸入/輸出命令連同標(biāo)記F一起傳送給輸入數(shù)據(jù)處理控制單元21,并指令該輸入數(shù)據(jù)處理控制單元21執(zhí)行輸入/輸出命令。
另外,在寫入側(cè)處理的情況下,操作前進(jìn)到步驟步驟S121,以將輸入/輸出命令連同標(biāo)記F一起傳送給輸出數(shù)據(jù)處理控制單元22,并指令該輸出數(shù)據(jù)處理控制單元22執(zhí)行輸入/輸出命令。
在步驟S120和步驟S121完成之后,操作前進(jìn)到步驟S122(圖10)。
(圖10,多處理控制單元操作的部份3)接著,在步驟S122,檢查輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22是否已經(jīng)完成了對在步驟S120或S121中傳送給它們的輸入/輸出命令的處理。由于輸入數(shù)據(jù)處理控制單元21或輸出數(shù)據(jù)處理控制單元22根據(jù)輸入/輸出命令執(zhí)行的完成傳送了一個(gè)結(jié)束通知,所以要執(zhí)行一個(gè)檢查,檢查這個(gè)結(jié)束通知是否被收到。
若這個(gè)結(jié)束通知已被收到,操作返回到圖9的步驟S112,檢查輸入/輸出命令是否再次到達(dá)由需經(jīng)處理的單元變量U指示的單元處,并根據(jù)下一個(gè)輸入/輸出命令執(zhí)行處理。例如,在處理步驟是用于在寫入側(cè)和讀出側(cè)上進(jìn)行處理的情況下,在寫入側(cè)命令開始執(zhí)行之后,操作以上述方式執(zhí)行讀出側(cè)命令的處理。
當(dāng)接收到了結(jié)束通知時(shí),操作前進(jìn)到下一個(gè)步驟S123,以執(zhí)行與結(jié)束作業(yè)步相關(guān)的處理。
在步驟S123,結(jié)束命令所屬的單元,與所述命令相應(yīng)的作業(yè)號以及在寫入側(cè)的讀出側(cè)之間的差異被分別存入u、j和w。另外,處理結(jié)果的狀態(tài)被存入S。
接著,操作前進(jìn)到步驟S124,以檢查ERR位或CAN位是否被設(shè)置在S中。
這是,若確定ERR位或CAN位已經(jīng)被設(shè)置,操作前進(jìn)到下一步驟S125。若確定這兩個(gè)位都沒有被設(shè)置,則操作跳過在步驟S126開始的不規(guī)則時(shí)間處的處理,并前進(jìn)到步驟S128。
當(dāng)操作已經(jīng)前進(jìn)到步驟S125的處理時(shí),它意味著由于誤差或刪去而使輸入/輸出命令已經(jīng)結(jié)束。在步驟S125,確定在塊作業(yè)步驟是否涉及了使用分類處理設(shè)備4的處理和寫入側(cè)處理,或所述在塊作業(yè)步是否涉及了使用分類處理設(shè)備4的處理和讀出側(cè)處理以及在寫入側(cè)和讀出側(cè)的作業(yè)是否是相同的。
這里,如果是前述兩種情況,操作前進(jìn)到下一步驟S126以執(zhí)行排出。若上述兩種情況都不適用,則跳過排除處理,操作前進(jìn)到步驟S128。
在步驟S126,在檢測結(jié)束數(shù)據(jù)標(biāo)記之前,分類處理設(shè)備4中剩余的數(shù)據(jù)被丟掉。
然后,在步驟S127,設(shè)定用于寫入側(cè)和讀出側(cè)的標(biāo)記F,并設(shè)定用于這兩側(cè)的IGNCLS標(biāo)記,借此以指令輸入數(shù)據(jù)處理控制單元21和輸出數(shù)據(jù)處理控制單元22忽略除關(guān)閉命令以外的命令。
然后,操作處理前進(jìn)到步驟S128,檢查結(jié)束狀態(tài)變量S的JSEND位是否存在,若存在,則相應(yīng)寫入側(cè)或讀出側(cè)作業(yè)步的處理已經(jīng)完成,這樣,作業(yè)步結(jié)束計(jì)數(shù)END減1,操作前進(jìn)到步驟S130。另外,若JBEND不存在,則操作直接跳到步驟S130。
在步驟S130,檢查結(jié)束狀態(tài)變量S的JBEND位是否存在,這里,若該位存在,則意味著通過執(zhí)行關(guān)閉命令而使寫入側(cè)或讀出側(cè)的作業(yè)已經(jīng)結(jié)束。因此,在步驟S131,那種狀態(tài)JK[j][w]被設(shè)定為“none”,并且從需經(jīng)處理的單元變量U中刪除相應(yīng)單元。這里,作為在一方的多處理控制單元20和在另一方的輸入數(shù)據(jù)處理控制單元21及輸出數(shù)據(jù)處理控制單元22之間的一個(gè)協(xié)議,假定遵循以下原則,即當(dāng)JBEND存在時(shí),JSEND也被可靠地設(shè)置在通態(tài)。當(dāng)完成步驟S131時(shí),操作前進(jìn)到步驟S132。
同時(shí),當(dāng)在步驟S130確定S不存在時(shí),則跳過步驟S131,且操作進(jìn)入到步驟S132。
在步驟S132,確定作業(yè)步結(jié)束計(jì)數(shù)END是否被設(shè)置為零。若END已被被設(shè)置為0,則意味著在寫入側(cè)和讀出側(cè)的作業(yè)步處理已經(jīng)完成,從而操作前進(jìn)到步驟S133,以安排下一作業(yè)步。若END未設(shè)置成0,操作返回到圖9的步驟S112,以取出一個(gè)輸入/輸出命令。
(圖11多處理控制單元操作的部份4)處理從圖11的步驟S133開始執(zhí)行,用于規(guī)定當(dāng)前正在被處理且其處理被暫停的作業(yè)。首先,將作業(yè)規(guī)定給寫入側(cè),在步驟S133,設(shè)定與j相關(guān)的被周期選擇的作業(yè)號,通過使當(dāng)前JW加1或通過計(jì)算將相加結(jié)果除以JN所獲得的余數(shù)來確定所述周期選擇。這里,在附圖中的%表示所計(jì)算的相減結(jié)果的余數(shù)。
接著,在步驟S134,通過檢查JK[j]
來確定與j相應(yīng)的作業(yè)類型,并且根據(jù)此前什么樣的分類處理設(shè)備4在工作如下地確定下一個(gè)作業(yè)號JR和JW。
首先,若在步驟S134中確定JK[j]
是“NONE”,那么操作前進(jìn)到步驟S135。若它確定所述處理是一個(gè)分類處理,則操作前進(jìn)到步驟S136;若它確定所述處理是除分類處理以外的其它處理,則操作前進(jìn)到步驟S140。
首先來描述在步驟S135中的處理。這是在下述情況,即在與j相應(yīng)的作業(yè)還沒有被規(guī)定的情況下執(zhí)行的處理。在步驟S135,檢查數(shù)據(jù)是否仍然被保存在分類處理設(shè)備4之中。由于這種檢查可以根據(jù)直接在前作業(yè)的類型是否是一個(gè)分類來執(zhí)行,所以可以檢查JK[JW]
是否是一個(gè)分類。若它不是一個(gè)分類,則數(shù)據(jù)不保存在分類處理設(shè)備4之中,并且沒有接收到與j相關(guān)的處理請求,從而操作返回到步驟S133,在此處的處理是一個(gè)與周期選擇相關(guān)的處理,用于選擇與下一作業(yè)相關(guān)的候選者。
如果直接在前作業(yè)的類型是一個(gè)分類處理,那么在步驟S137,所述直接在前作業(yè)被規(guī)定給JR,從而讀出分類處理設(shè)備4中的數(shù)據(jù)。JW被置為-1,并且沒有處理被規(guī)定給它。
然后,若完成了步驟S137,操作返回到圖8的步驟S103,以開始執(zhí)行規(guī)定給JR的作業(yè)步。
接著描述步驟S136,它處于下述情況,即即將要執(zhí)行的作業(yè)是分類處理。首先,在步驟S136,檢查數(shù)據(jù)是否被保存在分類處理設(shè)備4之中。
若將被執(zhí)行的作業(yè)不是分類處理,則數(shù)據(jù)不被保存在分類處理設(shè)備4之中。接著,操作前述到步驟S138,以設(shè)定JR=-1和jw=j(luò),并給出指令以執(zhí)行涉及到步驟S133中所選j的作業(yè)。
若在步驟S136確定在分類處理設(shè)備4中剩余有數(shù)據(jù),則操作前進(jìn)到步驟S139,以設(shè)置JR=JW,并且讀出側(cè)執(zhí)行所述直接在前任務(wù)。另外,執(zhí)行JW=j(luò),并且給出指令,以執(zhí)行涉及到寫入側(cè)在步驟S133中所選j的任務(wù)。
在步驟S138或S139完成之后,操作返回到圖8的步驟S103,以開始執(zhí)行指定給JW和JR的作業(yè)步。
在步驟S140完成之后,操作返回到圖8的步驟S103,以開始執(zhí)行指定給JW和JR的作業(yè)步。
(圖12輸入數(shù)據(jù)處理控制單元21的操作)參看圖12,下面將描述輸入數(shù)據(jù)處理控制單元21的操作。
輸入數(shù)據(jù)處理控制單元21從步驟S199開始工作,并首先在步驟S200等待來自多處理控制單元20的輸入/輸出命令的到達(dá)。就是說,要檢查是否存在有一個(gè)輸入/輸出命令。若不存在這樣的命令,操作返回到步驟S200以再次進(jìn)行循環(huán),直到一個(gè)輸入/輸出命令到達(dá)為止。
在步驟S201,檢查與輸入/輸出命令一起傳送的標(biāo)記F的值。這里,如果存在有IGNCLS位,操作步進(jìn)到步驟S202,若這個(gè)位不存在,則操作跳到步驟S205。
在步驟S202,檢查所述的輸入/輸出命令是否是一個(gè)關(guān)閉命令。若它是一個(gè)關(guān)閉命令,則操作跳到步驟S205,反之,操作前進(jìn)到步驟S203以把結(jié)束狀態(tài)設(shè)定為正常結(jié)束(OK)。然后在步驟S204,多路處理控制單元20被告知結(jié)束。在完成步驟S204的基礎(chǔ)上,操作返回到步驟S200,以等待來自多路處理控制單元20的一個(gè)輸入/輸出命令的來到。
在步驟S205,內(nèi)部標(biāo)記FLAG被初始化。
然后,操作前進(jìn)到步驟S206,檢查在從多處理控制單元20傳送來的標(biāo)記F中是否具有JSEND位。這里,如果存在有JSEND(這表明在執(zhí)行作業(yè)步過程中執(zhí)行了一個(gè)超過規(guī)定時(shí)間的處理,參看圖9的步驟S117到S120),則操作前進(jìn)到步驟S207,以檢查是否正在利用分類處理設(shè)備4執(zhí)行讀出側(cè)處理。若確定過程中答案是YES,則在步驟S209執(zhí)行當(dāng)前處理而不必中斷所述處理。這是因?yàn)樵诮Y(jié)束數(shù)據(jù)被讀出之前,在讀出側(cè)分類處理過程中的處理不能被中斷,所以,即使是在執(zhí)行了所述時(shí)間之后,處理也必須被繼續(xù)下去。如果確定的答案是NO,那么操作步進(jìn)到步驟S208,以暫時(shí)中斷處理,并設(shè)置JSEND位,以通知作業(yè)步的結(jié)束(最后,多處理控制單元20步驟S217被通知作業(yè)步結(jié)束)。而后,操作前進(jìn)到步驟S210。在步驟S209,利用數(shù)據(jù)庫處理設(shè)備3和分類處理設(shè)備4執(zhí)行諸如分類、組合、歸并等的指定處理。特別是,在處理過程中根據(jù)作業(yè)步初始命令使用分類處理設(shè)備4進(jìn)行處理的情況下,初始化數(shù)據(jù)首先被輸入給分類處理設(shè)備4。
在這個(gè)時(shí)候,由于以混合形式發(fā)出了與多處理操作相關(guān)的請求,所以,在數(shù)量上與所述作業(yè)相對應(yīng)的多個(gè)程序被裝入數(shù)據(jù)庫處理設(shè)備3中,并且,數(shù)據(jù)庫處理設(shè)備3通過援引所述程序中與一個(gè)指定作業(yè)相對應(yīng)的程序執(zhí)行處理。例如在具有如圖19所示結(jié)構(gòu)的數(shù)據(jù)庫處理設(shè)備3中,與作業(yè)相應(yīng)的多個(gè)程序被存貯在存貯設(shè)備36和37中,并由微機(jī)34和35加以執(zhí)行。
存在有下述情況,即在執(zhí)行過程中所輸入的數(shù)據(jù)達(dá)到了分類處理設(shè)備4的容量極限,其結(jié)果是使作業(yè)步結(jié)束,并傳遞一個(gè)作業(yè)的結(jié)束。在這種情況下,在步驟S309,在FLAG中設(shè)置JSEND、JBEND和JSEND,以結(jié)束所述處理。
這里,在下述情況下結(jié)束一個(gè)作業(yè)步1)當(dāng)使用分類處理設(shè)備4時(shí)寫入側(cè)在輸入給輸入數(shù)據(jù)處理控制單元21的數(shù)據(jù)達(dá)到了分類處理設(shè)備4的容量極限的情況下;2)當(dāng)沒有使用分類處理設(shè)備4時(shí)寫入側(cè)在xfer命令被執(zhí)行多次且已達(dá)到固定時(shí)間的情況下。
在這些情況之中,當(dāng)使用了分類處理設(shè)備4時(shí),在寫入側(cè)的輸入數(shù)據(jù)處理控制單元21寫入結(jié)束數(shù)據(jù),并且當(dāng)輸入給它的數(shù)據(jù)達(dá)到了分類處理設(shè)備4的容量極限時(shí),利用它本身結(jié)束作業(yè)步。
這樣,根據(jù)分類處理設(shè)備的容量或指定的時(shí)間,從主機(jī)輸入的數(shù)據(jù)串被分劃分開,并且被劃分的數(shù)據(jù)子串以混合形式出現(xiàn)在整個(gè)作業(yè)上,借此以執(zhí)行多道處理。
在步驟S209,假設(shè)在上述情況中的某個(gè)情況(在情況1中寫入側(cè)作業(yè)步被結(jié)束)下,JSEND被設(shè)定為通態(tài),借此以結(jié)束作業(yè)步驟。另外,若所述處理是有關(guān)關(guān)閉命令的處理,還要設(shè)定JBEND,借此以結(jié)束作業(yè)步。
在完成步驟S209處理的基礎(chǔ)上,在步驟S210確定在處理期間是否產(chǎn)生了誤差。如果產(chǎn)生了誤差,在步驟S211中,在FLAG內(nèi)設(shè)置JSEND和ERR位,且操作前進(jìn)到步驟S212。反之,若沒有產(chǎn)生誤差,則操作直接跳到步驟S212。
接著,在步驟S212,若輸入/輸出命令是一個(gè)關(guān)閉命令,且有關(guān)它的處理正在執(zhí)行,則在步驟S213中在FLAG內(nèi)設(shè)置JBEND位和CAN位,且操作前進(jìn)到步驟S214。反之,若在步驟S212中進(jìn)行確定的答案是NO,操作直接跳躍到步驟S214。
在步驟S214,檢查是否存在ERR或CAN位,若答案是YES,那么在步驟S215檢查使用分類處理設(shè)備4的作業(yè)步是否正在被執(zhí)行。若在步驟S215中進(jìn)行確定的答案是Yes,操作前進(jìn)到步驟S216,以把一個(gè)結(jié)束字寫入分類處理設(shè)備4,并在下一個(gè)步驟S217強(qiáng)制結(jié)束對分類處理設(shè)備4的數(shù)據(jù)寫入。
另一方面,如果在步驟S214或S215中進(jìn)行確定的答案是NO,操作跳到步驟S217且不寫入結(jié)束字。
最后,在步驟S217,在上述步驟S205到S217中設(shè)置的多個(gè)標(biāo)記FLAG被輸出給多處理控制單元20,以通知結(jié)束狀態(tài)。
然后操作返回到步驟S200以等待下一個(gè)輸入/輸出命令。
(圖13輸出數(shù)據(jù)處理控制單元22的操作)參看圖13,下面將給出有關(guān)輸出數(shù)據(jù)處理控制單元22的操作的描述。輸出數(shù)據(jù)處理控制單元22的基本操作與上述輸入數(shù)據(jù)處理控制單元21類似,但是在執(zhí)行讀出側(cè)數(shù)據(jù)讀出等方面是有區(qū)別的。
輸出數(shù)據(jù)處理控制單元22在步驟S299開始操作,并首先在步驟S300等候來自多處理控制單元20的輸入/輸出命令的到達(dá)。即要檢查是否存在有一個(gè)輸入/輸出命令。若答案是NO,操作返回到步驟S300并進(jìn)行循環(huán),直到所述輸入/輸出命令來到為止。在一個(gè)輸入/輸出命令到達(dá)的基礎(chǔ)上,操作前進(jìn)到步驟S301。
在步驟S301,檢查連同輸入/輸出命令一起傳送的標(biāo)記F的值。這里,如果IGNCLS位存在,則操作前進(jìn)到步驟S302,而如果該位不存在,操作跳到步驟S305。
在步驟S302,檢查所述的輸入/輸出命令是否是一個(gè)關(guān)閉命令。若它是一個(gè)關(guān)閉命令,則操作跳到步驟S305,而如果它不是一個(gè)關(guān)閉命令,操作前進(jìn)到步驟S303,以把結(jié)束狀態(tài)當(dāng)作正常結(jié)束(OK)加以傳送。然后,在步驟S304,將結(jié)束信息通知給多路處理控制單元20。在完成步驟S304的基礎(chǔ)上,操作返回到步驟S300,以等待來自多處理控制單元20的一個(gè)輸入/輸出命令的到達(dá)。
在步驟S305,內(nèi)部標(biāo)記FLAG被初始化。
然后,操作前進(jìn)到步驟S306,以檢查在從多處理控制單元20傳送來的標(biāo)記F中是否存在有JSEND位。這里,如果存在有JSEND位(這表示在執(zhí)行作業(yè)步的過程中正在執(zhí)行超過規(guī)定時(shí)間的處理,參看圖9的步驟S117到S1207,則操作步進(jìn)到步驟S307,以檢查是否正在使用分類處理設(shè)備4執(zhí)行讀出側(cè)處理。若檢查的答案是Yes,在步驟S309執(zhí)行當(dāng)前處理而不中斷所述處理,這是因?yàn)樵谧x出結(jié)束數(shù)據(jù)以前,在讀出側(cè)分類處理過程中,處理不能被中斷,所以,即使在執(zhí)行了所述時(shí)間以后,處理也必須被繼續(xù)下去。如果檢查的答案是NO,操作前進(jìn)到步驟S308,以暫時(shí)中斷處理,并設(shè)置JSEND位,以通知作業(yè)步的結(jié)束(最后,在步驟S317通知多處理控制單元20作業(yè)步結(jié)束)。然后,操作前進(jìn)行步驟S310。
在步驟S309,利用數(shù)據(jù)庫處理設(shè)備3和分類處理設(shè)備4執(zhí)行諸如分類,組合和歸并等的指定處理。
此時(shí),由于以混合形式發(fā)出了對多道處理操作的請求,所以,其數(shù)量與作業(yè)相應(yīng)的多個(gè)程序被裝入數(shù)據(jù)庫處理設(shè)備3,數(shù)據(jù)庫處理設(shè)備3通過援引所述多個(gè)程序中與指定作業(yè)相應(yīng)的程序來執(zhí)行處理。例如,在具有圖19所示結(jié)構(gòu)的數(shù)據(jù)庫處理設(shè)備3中,與所述作業(yè)相應(yīng)的多個(gè)程序被存貯在主存貯裝置36和37中,并由微機(jī)34和35加以執(zhí)行。
存在有在執(zhí)行過程中輸入的數(shù)據(jù)達(dá)到了分類處理設(shè)備4容易極限的情況。從而導(dǎo)致作業(yè)步的結(jié)束和一個(gè)作業(yè)步結(jié)束的傳送。在這種情況下,在步驟S309,在FLAG中設(shè)置JSEND.JBEND和JSEND,以結(jié)束所述處理。
這里,在下述情況下結(jié)束作業(yè)步1)當(dāng)使用分類處理設(shè)備4時(shí)讀出側(cè)在從分類處理設(shè)備4讀出的數(shù)據(jù)達(dá)到結(jié)束數(shù)據(jù)的情況下,2)當(dāng)不使用分類處理設(shè)備4時(shí)在多次執(zhí)行xfer命令并達(dá)到固定時(shí)間的情況下。
在這些情況之中,當(dāng)使用分類處理設(shè)備4時(shí),當(dāng)在下一步驟利用讀出數(shù)據(jù)處理控制單元22讀出由輸入數(shù)據(jù)處理控制單元21寫入的數(shù)據(jù)和結(jié)束數(shù)據(jù)時(shí),讀出側(cè)利用本身結(jié)束作業(yè)步。
這樣,根據(jù)分類處理設(shè)備4的容易或指定的時(shí)間從主機(jī)輸入的數(shù)據(jù)串被劃分,并且被劃分的數(shù)據(jù)子串以混合形式存在于多個(gè)作業(yè)之上借此以執(zhí)行多道處理。
在步驟S309,假設(shè)在上述情況中的某種情況(在情況1下的讀出側(cè)上的作業(yè)步結(jié)束)下,JSEND被設(shè)置為通態(tài),借此以結(jié)束作業(yè)步驟。另外,如果處理是有關(guān)關(guān)閉命令的處理,那么還要設(shè)置JBEND,借此以結(jié)束作業(yè)步。
在完成步驟S309處理的前提下,在步驟S310確定在處理期間是否產(chǎn)生了誤差。如果產(chǎn)生了誤差,在步驟S311中在FLAG內(nèi)設(shè)置JSEND和ERR位,且操作前進(jìn)到步驟S312。反之,若末產(chǎn)生誤差,操作直接跳到步驟S312。
接著,在步驟S312,若輸入/輸出命令是一個(gè)關(guān)閉命令,且有關(guān)它的處理正在被執(zhí)行,那么在步驟S313在FLAG中設(shè)置JBEND位和CAN位且操作前進(jìn)到步驟S314。反之,若在步驟S312進(jìn)行確定的回答是NO,則操作直接跳到步驟S314。
在步驟S314,檢查是否存在有ERR或CAN位。若答案是Yes,在步驟S315檢查是否正在執(zhí)行使用分類處理設(shè)備4的作業(yè)步。若在步驟S315的答案是Yes,操作前進(jìn)到步驟S316,以在結(jié)束字出現(xiàn)之前丟掉分類處理設(shè)備4中的數(shù)據(jù)。在完成丟棄的基礎(chǔ)上,操作前進(jìn)到下一步驟S317。
另一方面,若在步驟S314或S315中的答案是NO,則操作跳到步驟S317,并不丟掉數(shù)據(jù)。
最后,在步驟S317,在上述步驟S305到S316中設(shè)置的各個(gè)FLAG被輸出給多處理控制單元20以通知結(jié)束狀態(tài)。
然后,操作返回到步驟S300,以等待下一個(gè)輸入/輸出命令。
(多道處理控制的操作側(cè))根據(jù)上述過程以執(zhí)行控制的例子示于圖14。
步驟S401在圖14中,首先開始使用分類處理設(shè)備4的作業(yè)0。它的作用在于多處理控制單元20將輸入/輸出命令傳送給輸入數(shù)據(jù)處理控制單元21且輸入數(shù)據(jù)處理控制單元21根據(jù)以接收到的命令執(zhí)行作業(yè)0的作業(yè)步1(此時(shí),由輸入數(shù)據(jù)處理控制單元21控制的數(shù)據(jù)庫處理設(shè)備3和分類處理設(shè)備4也執(zhí)行作業(yè)步1的處理)。在這個(gè)執(zhí)行完成的基礎(chǔ)上,輸入數(shù)據(jù)處理控制單元21將JSEND通知給多控制單元20,以報(bào)告作業(yè)0的作業(yè)步1被完成。此時(shí),雖然作為作業(yè)步1已經(jīng)完成了作業(yè)0的處理。但是作為一個(gè)作業(yè),還要繼續(xù)對作業(yè)0進(jìn)行處理。
步驟S402接著,多處理控制單元20周期選擇一個(gè)寫入側(cè)作業(yè)。多處理控制單元20將作業(yè)1設(shè)定成寫入側(cè)作業(yè),并將一個(gè)輸入/輸出命令傳送給輸入數(shù)據(jù)處理控制單元21。這里假設(shè)作業(yè)1的處理類型是除分類處理以外的處理。在這種情況下,通過將作業(yè)1設(shè)定成讀出側(cè)作業(yè)而使多處理控制單元20起動,該單元20還將輸入數(shù)據(jù)處理控制單元提供給輸出數(shù)據(jù)處理控制單元22。
在完成作業(yè)1的基礎(chǔ)上,輸入數(shù)據(jù)處理控制單元21和輸出數(shù)據(jù)處理控制單元22將JBEND通知給多路處理控制單元20。
(另外,在作業(yè)1的作業(yè)步1的處理時(shí)間超過MAXTIME,并且多處理控制單元20將JSEND通知給輸入數(shù)據(jù)處理控制單元21和輸出數(shù)據(jù)處理控制單元22情況下的操作是不同的。在收到這個(gè)通知的基礎(chǔ)上,輸入數(shù)據(jù)處理控制單元21和輸出數(shù)據(jù)處理控制單元22暫時(shí)結(jié)束作業(yè)1作業(yè)步1的處理)。
步驟403接著,多路處理控制單元20周期性地再次選擇作業(yè)0作為寫入側(cè)作業(yè)并給出一個(gè)指令去執(zhí)行下一作業(yè)步2。同時(shí),作業(yè)0的作業(yè)步1,即此前直接輸入給并在分類處理設(shè)備4中保存的數(shù)據(jù)被規(guī)定給讀出側(cè)。
步驟S404當(dāng)諸如在輸入給分類處理設(shè)備4的數(shù)據(jù)已經(jīng)達(dá)到了其容量極限或處理時(shí)間已經(jīng)達(dá)到MAXTIME的情況下結(jié)束寫入側(cè)正在被執(zhí)行的作業(yè)0的作業(yè)步1時(shí),多處理控制單元20周期性地再一次選擇一個(gè)作業(yè)并將它規(guī)定給寫入側(cè)。這里假設(shè)規(guī)定了一個(gè)使用分類處理設(shè)備4的新作業(yè)。
另外,當(dāng)在從分類處理設(shè)備4傳送的數(shù)據(jù)檢測到結(jié)束數(shù)據(jù)時(shí),在讀出側(cè)的作業(yè)0的作業(yè)步1結(jié)束。類似的,作業(yè)0的作業(yè)步2,即在此之前輸入給分類處理設(shè)備4并保持在其中的數(shù)據(jù)被規(guī)定給讀出側(cè)。
然后,被規(guī)定給寫入側(cè)的作業(yè)1的作業(yè)步2和被規(guī)定給讀出側(cè)的作業(yè)0的作業(yè)步0被執(zhí)行并結(jié)束。
步驟S405假如新的輸入/輸出命令還沒有到達(dá)圖2中的隊(duì)列55到59并且沒有作業(yè)步曾被暫停,那么就沒有新的作業(yè)被規(guī)定給寫入側(cè),且作業(yè)1的作業(yè)步2僅被規(guī)定給讀出側(cè)。
(分類處理設(shè)備4)下面將對用于實(shí)現(xiàn)多重控制的分類處理設(shè)備的結(jié)構(gòu)進(jìn)行描述。圖15示出了構(gòu)成分類處理設(shè)備4的分類處理器的結(jié)構(gòu)。在圖15中,與圖2標(biāo)號相同的標(biāo)號表示相同或相應(yīng)部份。標(biāo)號41到44表示分類處理器,標(biāo)號45到48表示分別連接到分類處理器41到44的存儲設(shè)備。圖15詳細(xì)地示出多b分類處理器中分類處理器43的內(nèi)部結(jié)構(gòu)(其它的分類處理器41,42和44與之具有類似結(jié)構(gòu))。數(shù)字430表示分類處理器的控制單元;數(shù)字431表示一個(gè)作業(yè)號寄存器,用于識別正在被分類處理器43進(jìn)行處理的數(shù)據(jù)所屬的作業(yè);數(shù)字432表示數(shù)據(jù)長度寄存器,用于存貯相關(guān)作業(yè)的數(shù)據(jù)的長度;數(shù)字433表示一個(gè)數(shù)據(jù)緩沖器,用于暫存在在前級中從分類處理器42輸入給分類處理器43的數(shù)據(jù);數(shù)字434表示一個(gè)用于分類的分類電路;數(shù)字435表示一個(gè)計(jì)數(shù)器,用以指示保存在分類處理器中將被分類的數(shù)據(jù)字節(jié)數(shù)。
分類處理設(shè)備4通過連線31和32連接到數(shù)據(jù)庫處理設(shè)備30上,利用連線33將分類處理設(shè)備4內(nèi)的存貯設(shè)備45到48連接到數(shù)據(jù)庫處理設(shè)備3上,從而使存貯設(shè)備45到48也被用和數(shù)據(jù)庫處理設(shè)備3的主存貯設(shè)備。當(dāng)分類算是設(shè)備4被停機(jī)時(shí),可以通過連線33對數(shù)據(jù)庫處理設(shè)備進(jìn)行訪問。
另外,圖16示出了輸入給分類處理器4的數(shù)據(jù)的格式,該數(shù)據(jù)被提供給每一作業(yè)步驟,并被輸入和輸出,以達(dá)到數(shù)據(jù)初始化,數(shù)據(jù)處理和數(shù)據(jù)結(jié)束的目的。
首先,初始化數(shù)據(jù)包括用于指示記錄長度的記錄長度501;用以表示諸如“分類處理”或“除分類處理以外的處理”等處理類型的處理類型502;具有分別與分類處理器41到44相對應(yīng)的多個(gè)位并在所述位不存在時(shí)指令不執(zhí)行由與該截止位相對應(yīng)的分類處理器所執(zhí)行處理的旁路指示503;以及用于識別所述作業(yè)的作業(yè)號504。
處理數(shù)據(jù)是一個(gè)需給處理的數(shù)據(jù)部份。最后,結(jié)束數(shù)據(jù),即一個(gè)結(jié)束標(biāo)記表示加之于輸入數(shù)據(jù)處理控制單元21的作業(yè)步的結(jié)束。
如截至目前所述,分類處理設(shè)備4在分時(shí)的基礎(chǔ)上連續(xù)執(zhí)行多個(gè)處理操作。此時(shí),需經(jīng)處理的數(shù)據(jù)長度依據(jù)處理操作而變化。由此,如圖16所示,初始化數(shù)據(jù)在作業(yè)步開始時(shí)間處的數(shù)據(jù)之前被輸入,而結(jié)束數(shù)據(jù)被加到在作業(yè)步結(jié)束處的數(shù)據(jù)的末尾。
在描述該第一實(shí)施例的分類處理器4的操作之前,首先描述當(dāng)利用依據(jù)本發(fā)明的分類處理設(shè)備4以及包含有該設(shè)備的方法執(zhí)行重處理時(shí)所產(chǎn)生的問題。
(多路分類處理方法以及除分類以外的處理方法)1)分類處理設(shè)備4不僅可以被用于如上所述的分類處理,而且在分類處理設(shè)備4中的存貯設(shè)備45到48還可以被用作用于數(shù)據(jù)庫處理設(shè)備3的共用存貯器?,F(xiàn)在考慮下面這種情況,在這種情況下,以如下的順序執(zhí)行操作在作業(yè)步邊界處中斷分類處理,操作前進(jìn)到由數(shù)據(jù)庫處理單元3執(zhí)行的歸并處理,然后分類處理被重新開始。在這種情況下,下面的要求是必需要滿足的,即先前正在執(zhí)行分類處理的作業(yè)步的存貯設(shè)備45到48的內(nèi)容必須被保持在完成歸并處理之后允許重新開始分類處理并不受在暫時(shí)中斷所述分類處理之后由數(shù)據(jù)庫處理設(shè)備3執(zhí)行作業(yè)步影響的狀態(tài)。為此,必須實(shí)施某種處理,在這種處理中,作為一個(gè)文件,在分類處理設(shè)備4中剩余的數(shù)據(jù)被暫時(shí)輸出給一具盤設(shè)備8或類似設(shè)備,如圖2所示,在完成了由數(shù)據(jù)庫處理設(shè)備3執(zhí)行的處理之后,所述數(shù)據(jù)被重新輸入給分類處理設(shè)備4,以重新開始處理。這樣就出現(xiàn)了一個(gè)問題即處理性能基本上是下降的。
在本發(fā)明中,采用下述方法,以并行執(zhí)行歸并處理和分類處理并不引起處理速度的下降。
圖17A到17D的簡要示圖示出以在分類處理設(shè)備4中的存貯設(shè)備45到48的使用狀態(tài)。在圖17A到17D中,以圖15以用相同的標(biāo)號表示相同或相應(yīng)部份。
圖17A示出了一種情況,在這種情況下,存貯設(shè)備45到48僅用于分類處理。在圖17A中,陰影部份表示在存貯設(shè)備45到48中的那些區(qū)域一直被用于分類處理。這樣,所有的這種區(qū)域均被用于分類處理。
圖17B示出了一種情況,在這種情況下,存貯設(shè)備45到48僅被用于除分類處理以外的其它處理。在圖17B中,陰影部份表示在存貯設(shè)備45到48中的那些區(qū)域一直由數(shù)據(jù)庫處理設(shè)備3使用。這樣,所有這些區(qū)域部被用于除分類處理以外的其它處理。
在圖17C中,陰影部份表示在利用兩級多道處理執(zhí)行分類處理以及借助歸并處理的除分類處理以外的其它處理的情況下用于分類處理的一些區(qū)域。
在圖17D中,利用與圖17C相同的方式,陰影部份表示在利用兩級多道處理執(zhí)行分類處理以及諸如歸并處理的除分類處理以外的其它處理的情況下用于分類處理以外的其它處理的一些區(qū)域。
在圖17C和17D的情況下,第一級分類處理器41被旁路而未被使用。其作用在于與圖16所示數(shù)據(jù)旁路指示503的第一級分類處理器41相對應(yīng)的位被設(shè)定為截止?fàn)顟B(tài)。當(dāng)相關(guān)分類處理器被旁路時(shí),與那個(gè)分類處理器相關(guān)的存貯容量可以減少。為此,為能從圖17C和17D所看到的,在分類處理器所使用的區(qū)域和在除分類處理以外的其它處理中所使用的區(qū)域可以被很清楚地分隔開來而不會重疊,這樣就不必在盤設(shè)備8或類似設(shè)備上保留數(shù)據(jù)。這樣,分類處理和除分類處理以外的其它處理就可以迅速進(jìn)行轉(zhuǎn)換。
如圖17A-17D所示,當(dāng)?shù)谝患壉慌月?、即被跳過時(shí),在多道處理期間僅使用了分類處理設(shè)備4中存貯設(shè)備45到48的較低的一半。從分類處理設(shè)備4的操作可以很明顯看出,如果分類處理設(shè)備4的前分類處理器41被旁路,并且第二級分類處理器42被用作前步處理器,那么,第二級分類處理器42僅通過第一級分類處理器41所需的部份來使用它自己的存貯設(shè)備。例如,若第一級沒有被旁路,那么第二級分類處理器對存貯在從第一級分類存貯器傳送來的兩個(gè)記錄的單元內(nèi)的數(shù)據(jù)進(jìn)行分類。為此,第二級分類處理器執(zhí)行一個(gè)處理,在該處理中,第二級分類處理器在它自己的存貯設(shè)備45中存貯首先傳送給它的前兩個(gè)記錄,并在隨后傳送給它的一組兩個(gè)記錄中的前記錄和其中所存貯的一組兩個(gè)記錄中的前記錄之間進(jìn)行比較。通常,第i級分類處理器首先在其自己的存貯設(shè)備中存貯從在前級傳送給它的已經(jīng)分類的2i-1個(gè)記錄,并利用隨后傳送給它的已經(jīng)分類的2i-1個(gè)記錄對進(jìn)行歸并處理。這樣,第i級分類處理器產(chǎn)生由2i個(gè)記錄構(gòu)成的已分類記錄的串,并將其傳送給后繼級。因此,如果第二級被用作前分類處理器,那么由那個(gè)分類處理器所使用的存貯器等于一個(gè)記錄部份,并且由第i個(gè)分類處理器所使用的存貯容量為2i-2個(gè)記錄部份。因此,可以看出,所使用的容量為一串。從這個(gè)事實(shí)來看,就分類處理器45到48中的每一個(gè)而言,低于一個(gè)預(yù)定地址的較低一串可用作與分類相關(guān)的存貯器,而較高的一串可以被用作與數(shù)據(jù)庫處理設(shè)備3相關(guān)的共用存貯器。
雖然在上述的配置中第一級分類處理器41被旁路,但中間分類處理器也可以被旁路或最后一級分類處理器44也可以被旁路。如果最后一級分類處理器44被旁路,那么分類處理設(shè)備4的結(jié)構(gòu)將變得很復(fù)雜,但由于存貯設(shè)備48的所有存貯區(qū)域都可以被用于除分類處理以外的其它處理,可以這就有一個(gè)優(yōu)點(diǎn),即速續(xù)的存貯區(qū)域都是可靠的。(其原因在于在分類處理設(shè)備4中的存貯設(shè)備的容量在朝著較大級的方向上變得較大)。
(分類處理的檢查)2)在利用數(shù)據(jù)庫處理設(shè)備3執(zhí)行歸并處理或類似處理的情況下,必須確認(rèn)從分類處理設(shè)備4接收的數(shù)據(jù)已經(jīng)適當(dāng)分類,且被歸并的數(shù)據(jù)也處于被分類狀態(tài)。若分類處理器被用于這種確認(rèn)處理器,那么輸入數(shù)據(jù)的分類序列可以被很易地確認(rèn),但是在多道處理期間分類處理器41到44還能被用于對剩余數(shù)據(jù)進(jìn)行分類。因此,數(shù)據(jù)庫處理設(shè)備3就需要利用其本身執(zhí)行一個(gè)處理。這樣就出現(xiàn)了一個(gè)問題,即數(shù)據(jù)庫處理設(shè)備3上的負(fù)載就變得很高,且數(shù)據(jù)庫處理設(shè)備3的性能就會惡化。
在本發(fā)明的第一實(shí)施例中,在本發(fā)明的第一實(shí)施例中,這個(gè)問題以下述方式獲得了解決從而允許進(jìn)行高速處理。
如在上述1)中可選,在利用多道處理執(zhí)行分類處理和除分類處理以外的其它處理的情況下,分類處理設(shè)備4的第一級分類處理器41被置于未使用狀態(tài)。通過使用這個(gè)第一級分類處理器41,可以對所接收的數(shù)據(jù)是否已被適當(dāng)?shù)卮尜A以及歸類的數(shù)據(jù)是否已處于分類狀態(tài)進(jìn)行檢查。在一級道路處理的情況下,在歸并處理期間,分類處理設(shè)備保持未使用狀態(tài)且其存貯設(shè)備被騰空。因此,所以,第一級分類處理器和第一級存貯器總是處于空閑狀態(tài)。這樣,在使用它們時(shí)就不會出現(xiàn)問題。
當(dāng)在檢查需由數(shù)據(jù)庫處理設(shè)備3操作的數(shù)據(jù)串是否已被分類時(shí),要準(zhǔn)備具有已被寫入處理類型502并用于指定升序/降序檢查的值的初始化數(shù)據(jù),并且這個(gè)初始化數(shù)據(jù)被允許在一個(gè)作業(yè)步開始處流入分類處理設(shè)備4。這個(gè)數(shù)據(jù)串被第一級分類處理器41所中斷,并利用一種模式來設(shè)定第一級分類處理器41,以用于檢查升序/降序。
跟著,用于檢查升/降序的數(shù)據(jù)被傳輸給第一級分類處理器41。在這種傳輸過程中,利用未示出的直接存貯器存取控制器(DMAC)以很高的速度將存貯在分類處理設(shè)備4中存貯設(shè)備45到48之中的數(shù)據(jù)傳送給第一級分類處理器41的存貯設(shè)備45。
另外,要準(zhǔn)備諸如圖16所示一個(gè)的數(shù)據(jù)。升/降序的檢查被寫入處理類型502,且數(shù)據(jù)通過正常路徑進(jìn)行傳送。
根據(jù)所接收的數(shù)據(jù),第一級分類處理器41執(zhí)行這個(gè)數(shù)據(jù)的升/降序的檢查。
以如下的方式提供結(jié)構(gòu),即若可傳輸?shù)臄?shù)據(jù)的配置是不適當(dāng)?shù)牟⑶冶徊贿m當(dāng)?shù)丶右苑诸?,那么,從第一級分類處理器向?shù)據(jù)庫處理設(shè)備3或控制器2輸出一個(gè)誤差信號。借助于接收這個(gè)信號,數(shù)據(jù)庫處理設(shè)備3或控制器2能夠確認(rèn)是否已經(jīng)執(zhí)行了適當(dāng)?shù)姆诸悺?br>
3)在試圖同時(shí)完成在寫入側(cè)和讀出側(cè)作為步的情況下,存在有這種可能性,即在一個(gè)記錄前端和末端處的數(shù)據(jù)分別位于分類處理器4的兩側(cè)的外邊。換言之,將會產(chǎn)生下述問題即使處理已經(jīng)在寫入側(cè)一個(gè)記錄邊界處停止,但由于所述記錄位于讀出側(cè)的外邊,所以在讀出側(cè)作業(yè)步不能完成(除非數(shù)據(jù)被進(jìn)一步寫入寫入側(cè),否則由整個(gè)分類處理設(shè)備所構(gòu)成的流水線將被停止)。
即使處理已經(jīng)在讀出側(cè)的一個(gè)記錄邊界處停止,但由于所述記錄位于讀出側(cè)的外邊,所以在寫入側(cè)的作業(yè)步也不能完成(除非數(shù)據(jù)被進(jìn)一步在讀出側(cè)中被讀出,否則由整個(gè)分類處理設(shè)備構(gòu)成的流水線將被停止)。
在這種情況下,處理不能停止于記錄位于外側(cè)的一側(cè)上,所以,作業(yè)步就不能被完成。在分類處理設(shè)備4中,即使是分類處理器41到44確實(shí)沒有執(zhí)行分類處理,輸入數(shù)據(jù)也會被暫時(shí)裝入它自己的存貯設(shè)備45到48中,隨后陸續(xù)輸出給后繼級分類處理器,從而允許在作業(yè)步邊界處的最后記錄可靠地裝入分類處理設(shè)備4。即,即使是在數(shù)據(jù)被簡單旁路的情況下,分類處理器41到44也會把數(shù)據(jù)緩沖器內(nèi)容納不了的數(shù)據(jù)均勻地暫時(shí)裝到存貯設(shè)備45到48內(nèi),并在適當(dāng)?shù)臅r(shí)候分類處理器41到44會把這些數(shù)據(jù)傳送給后繼級。
下面將給出有關(guān)為實(shí)現(xiàn)上述功能分類處理器4所作操作的描述。
分類處理器41到44中的每一個(gè)首先將由在前級或在前級分類處理的輸入的數(shù)據(jù)存貯在它的數(shù)據(jù)緩沖器433中。然后,控制單元430檢查數(shù)據(jù)緩沖器433中數(shù)據(jù)的類型。
1)如果數(shù)據(jù)緩沖器433中的數(shù)據(jù)是初始化數(shù)據(jù),則執(zhí)行下述操作a)檢查計(jì)數(shù)器435。若計(jì)數(shù)器435未被置0,操作等待,直到計(jì)數(shù)器435被置0為止,即直到在存貯設(shè)備47中剩余的數(shù)據(jù)被輸出給最后級分類處理器44為止。
b)如果計(jì)數(shù)器435已被置0,那么在初始化數(shù)據(jù)中的作業(yè)是和記錄長度被存入各自的內(nèi)部寄存器431和432中。
2)然后,參考在初始化數(shù)據(jù)中的處理類型502。
c-1)若分類類型502是分類鑒定在初始化數(shù)據(jù)的旁路指示中是否存在與相關(guān)分類處理器相對應(yīng)的位,例如,在第i級分類處理器的情況下,要檢查來自圖16所示旁路指示503中前端的第i位是否存在。
c-1-1)如果這個(gè)位存在,分類電路434被初始化,從而使得隨后陸續(xù)輸入的數(shù)據(jù)被存貯在各自的存貯設(shè)備41到44中,而后在旁路相關(guān)分類處理器的同時(shí)在不執(zhí)行分類的情況下將它們直接傳送給后繼級分類處理器。
c-1-2)如果這個(gè)位不存在,分類電路434被初始化,以進(jìn)一步執(zhí)行分類處理。
c-2)若分類類型502是分類順序檢查分類電路434被設(shè)定成升/降序檢查。例如在檢查數(shù)據(jù)是否是以升序排列的情況下,如果比較的結(jié)果較早輸入的數(shù)據(jù)不大于隨后輸入的數(shù)據(jù),那么不將數(shù)據(jù)輸出給作為在分類處理中比較的結(jié)果隨后級分類處理器而將一個(gè)誤差信號報(bào)告給分類電路434,可以使得很容易實(shí)現(xiàn)升序檢查。
2)如果在數(shù)據(jù)緩沖器433中存在有數(shù)據(jù),那么數(shù)據(jù)被傳送給分類電路434,并且給出有關(guān)分類執(zhí)行、升/降序檢查或旁路的指示。
例如,如果執(zhí)行分類處理,首先,當(dāng)數(shù)據(jù)從在步級分類處理器(即分類處理器42)被傳送給數(shù)據(jù)緩沖器433時(shí),已經(jīng)由在前級分類處理器分類的所有初始數(shù)據(jù)塊部被存貯在存貯設(shè)備47中。(若沒有實(shí)施旁路,在第i級分類處理器情況下存貯的這個(gè)數(shù)據(jù)量是2i-1。例如,在第三級分類處理器43,存貯有4個(gè)記錄部份。)
接著,位于從在前級分類處理器傳送來的第2數(shù)據(jù)塊前端的數(shù)據(jù)被傳送給數(shù)據(jù)緩沖器。這個(gè)數(shù)據(jù)被傳送給分類電路434。根據(jù)以接收的這個(gè)數(shù)據(jù),分類電路434讀出存貯在存貯設(shè)備47中的數(shù)據(jù)前的初始數(shù)據(jù),并將該數(shù)據(jù)和從數(shù)據(jù)緩沖器433傳送過來的數(shù)據(jù)相比較。若數(shù)據(jù)緩沖器434中的數(shù)據(jù)較大,那么,這個(gè)數(shù)據(jù)被傳送給子級分類處理器。若分類電路434中的數(shù)據(jù)較大,那么分類電路434中的數(shù)據(jù)被傳送給子級分類處理器,并且分類電路434從存貯設(shè)備47中讀出需要被比較的數(shù)據(jù)。而后,分類電路434重復(fù)所述操作,在該操作中,在被如此讀出的數(shù)據(jù)和從數(shù)據(jù)緩沖器433中讀出的數(shù)據(jù)之間進(jìn)行比較之后,較大的數(shù)據(jù)被傳送給子級分類處理器。
3)若緩沖器中的數(shù)據(jù)是結(jié)束數(shù)據(jù),在分類處理的情況下,給出一個(gè)指令以將剩余數(shù)據(jù)存貯到分類電路434中,并給它一個(gè)指令以把它的結(jié)果傳送給子級分類處理器中。在執(zhí)行升/降序檢查處理的情況下,給出一個(gè)指令以根據(jù)剩余數(shù)據(jù)執(zhí)行升/降序檢查。
另外,在上述實(shí)施例中,在多道處理的級數(shù)從2變到1的情況下,以僅處理作業(yè)0的方式執(zhí)行一個(gè)變化。即,假如從CPU7傳送給除單元0、1和2以外的單元、那單元3和4的輸入/輸出命令存在于多處理控制單元2之中,那么這種狀態(tài)就作為一個(gè)誤差而被立即報(bào)告給CPU7,隨后,有關(guān)單元1和2的處理總是被設(shè)置在正被處理而不會改變圖8所示之流檔,借此使得可以變換多路處理的級數(shù)。
由于本發(fā)明是如上述構(gòu)成的,所以本發(fā)明提供了下述優(yōu)點(diǎn)。
如上所述,根據(jù)本發(fā)明的分類方法包括下述步驟作為數(shù)據(jù)塊分離步驟,將由多個(gè)記錄構(gòu)成的第一數(shù)據(jù)塊分離成多個(gè)其中的每一個(gè)都包括有多個(gè)記錄的第一小數(shù)據(jù)塊;作為第一分類步驟,利用分類處理單元對包括在多個(gè)第一小數(shù)據(jù)塊的每一個(gè)之中的多個(gè)記錄進(jìn)行步驟;作為第二分類步驟,利用分類處理單元對包括在不同于第一數(shù)據(jù)塊的第二數(shù)據(jù)塊中的多個(gè)記錄進(jìn)行分類作為第三分類步驟,利用分類處理單元對沒有在第一分類步驟中進(jìn)行分類的第一小數(shù)據(jù)塊進(jìn)行分類;和作為數(shù)據(jù)塊歸并步驟,通過將在第一分類步驟和第二分類步驟中分類的多個(gè)第一小數(shù)據(jù)塊加以歸并而產(chǎn)生一個(gè)分類數(shù)據(jù)塊。因此,在操作過程中,和整個(gè)第一數(shù)據(jù)塊被分類加以比較,可以在很短的時(shí)間內(nèi)完成第一分類步驟然后再執(zhí)行第二分類步驟。在完成了第二分類步驟以后,在一個(gè)很短的時(shí)間內(nèi)執(zhí)行用于再次對第一數(shù)據(jù)塊進(jìn)行分類的第三分類步驟。因此,通過使用一個(gè)分類單元,在第一數(shù)據(jù)塊正在被分類的同時(shí),可以對第二數(shù)據(jù)塊進(jìn)行分類,從而使整個(gè)系統(tǒng)得到了改善。
如上所述,根據(jù)本發(fā)明的分類處理設(shè)備包括第一多路輸入控制單元,用于承接多個(gè)分類處理操作,并在一個(gè)預(yù)定處理?xiàng)l件下輸出涉及一個(gè)分類處理操作的分類數(shù)據(jù),并在完成上述輸出之后輸出涉及到另一種分類處理操作的分類數(shù)據(jù);分類處理單元,用于對從第一多路輸入控制單元傳送給它的分類數(shù)據(jù)進(jìn)行分類;以及多路輸出控制單元,用于通過鑒別從分類處理單元傳送的分類數(shù)據(jù)涉及了哪一種分類處理操作集中輸出與每一分類處理操作相關(guān)的數(shù)據(jù)。因此,在操作過程中,第一多路輸入控制單元通過在預(yù)定條件下轉(zhuǎn)換多個(gè)分類處理操作輸出數(shù)據(jù),分類處理單元接收和分類數(shù)據(jù),和多路輸出控制單元輸出來自分類處理單元并分別與每個(gè)分類處理操作相關(guān)的分類數(shù)據(jù)。因此,可以利用一個(gè)分類處理單元并行執(zhí)行多個(gè)分類處理操作。
另外,第一多輸入控制單元在一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及到多個(gè)分類處理操作中一個(gè)分類處理操作的一部份的分類數(shù)據(jù),并在這個(gè)輸出完成以后,在一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及另一分類處理操作的一部分的分類數(shù)據(jù)。因此,第一多路輸入控制單元通過在一預(yù)定時(shí)間內(nèi)轉(zhuǎn)換多種分類處理操作輸出數(shù)據(jù),分類處理單元接收和分類數(shù)據(jù),和多路輸出控制單元輸出來自分類處理單元并分別與每種分類處理操作相關(guān)的分類數(shù)據(jù)。因此,可以使用一個(gè)分類處理單元并行執(zhí)行多個(gè)分類處理操作。
另外,第一多路輸入控制單元輸出涉及到多個(gè)分類處理操作中一個(gè)分類處理操作的一部份的分類數(shù)據(jù)的預(yù)定數(shù)據(jù)量,并在這個(gè)輸出完成之后,輸出涉及到另一分類處理操作的一部份的分類數(shù)據(jù)的預(yù)定數(shù)據(jù)量。因此,涉及到一個(gè)分類處理操作的數(shù)據(jù)被分成固定的規(guī)模以產(chǎn)生小數(shù)據(jù)塊,并且在多個(gè)分類處理操作被進(jìn)行轉(zhuǎn)換以用于每一小數(shù)據(jù)塊的同時(shí),數(shù)據(jù)被讀出。因此可以使用一個(gè)分類處理單元并行執(zhí)行多個(gè)分類處理操作。
另外,第一多路輸入控制單元承接多個(gè)分類處理操作,并在分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定時(shí)間周期和分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定數(shù)據(jù)量的兩條件之一被滿足之前輸出涉及到一個(gè)分類處理操作的分類數(shù)據(jù),在完成了上述輸出之后,輸出涉及到另一分類處理操作的分類數(shù)據(jù),直到該分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定的時(shí)間周期和該分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定數(shù)據(jù)量的兩條件之一被滿足為止。因此,不多于固定量的數(shù)據(jù)被輸出給分類處理單元,并且分類處理操作在每一固定時(shí)間被進(jìn)行轉(zhuǎn)換。因此,至少在每個(gè)固定處理時(shí)間過去之后,可以利用劃分來執(zhí)行多個(gè)分類處理操作,并且所述數(shù)據(jù)可以在該分類處理單元所能處理的數(shù)據(jù)量的范圍內(nèi)傳送。
另外,當(dāng)從一個(gè)分類處理操作轉(zhuǎn)移到另外一個(gè)分類處理操作時(shí),分類處理單元存貯由所述第一多路輸入控制單元輸出的涉及到一個(gè)分類處理操作一部份的所有分類數(shù)據(jù)的記錄。因此,在一個(gè)小數(shù)據(jù)塊的所有數(shù)據(jù)被輸入給分類處理單元之前,分類處理操作是不進(jìn)行轉(zhuǎn)換的。隨后,利用分類處理單元對一個(gè)小數(shù)據(jù)塊進(jìn)行完整分類。
另外,第一多路輸入控制單元可以變化地設(shè)置所述第一多路輸入控制單元需要承接的分類處理操作的最大量。因此,第一多路輸入控制單元承接不超過其上限的范圍以內(nèi)的處理,并向分類處理單元輸出用于處理的規(guī)定數(shù)據(jù)。這樣,通過使用一個(gè)分類處理單元,如果最大量被設(shè)定為低等級,就可以實(shí)現(xiàn)大量數(shù)據(jù)的高速處理,而如果最大量被設(shè)置為高等級,就可以實(shí)現(xiàn)高容量的多種處理操作。因此,和使用多個(gè)分類處理單元的情況相比較就可以降低成本。
另外,當(dāng)輸出涉及到分類處理操作的分類數(shù)據(jù)時(shí),如果檢測到涉及分類處理操作的誤差或刪除,那么第一多路輸入控制單元輸出被加有結(jié)束數(shù)據(jù)的分類數(shù)據(jù),并且第一多路輸入控制單元中止分類處理操作,同時(shí)多路輸出控制單元從分類處理單元中讀出涉及到分類處理操作的分類數(shù)據(jù),直到所述結(jié)束數(shù)據(jù)為止。因此,根據(jù)檢測到的誤差或刪除,第一多路輸入控制單元輸出具有被加有結(jié)束數(shù)據(jù)的分類數(shù)據(jù),而不再輸出正在被輸出的剩余分類數(shù)據(jù)。為了從分類處理單元中消除涉及到被中止分類處理操作的分類數(shù)據(jù),多路輸出控制單元對第一個(gè)正常的分類處理操作進(jìn)行處理,而不與分類處理單元中剩余的涉及到另一正常分類處理操作的分類數(shù)據(jù)一起重新設(shè)置與被中止分類處理操作相關(guān)的數(shù)據(jù)。
另外,我路輸出控制單元讀出在分類處理單元中剩余的涉及到被中止分類處理操作的分類數(shù)據(jù),以保證數(shù)據(jù)不被殘留在分類處理單元中。因此,即使是產(chǎn)生了誤差和刪除,也可以適當(dāng)?shù)貓?zhí)行正在被并行執(zhí)行的其它分類處理操作。
如上所述,根據(jù)本發(fā)明的數(shù)據(jù)處理裝置包括第二多路輸入控制單元,用于承接分類處理操作和數(shù)據(jù)庫處理操作,并在預(yù)定的處理?xiàng)l件下輸出涉及分類處理操作的分類數(shù)據(jù),并且在上述輸出之后,在預(yù)定的處理?xiàng)l件下輸出涉及數(shù)據(jù)庫處理操作的數(shù)據(jù);由多個(gè)相互串聯(lián)的分類處理器構(gòu)成的分類處理單元,用于對從第二多路輸入控制單元輸入給它的分類數(shù)據(jù)進(jìn)行分類;數(shù)據(jù)庫處理單元,用于對從第二多路輸入控制單元輸入給它的數(shù)據(jù)執(zhí)行數(shù)據(jù)庫處理操作;以及多路輸出控制單元,用于通過鑒別輸入給多輸出控制單元的數(shù)據(jù)是涉及到分類處理操作的數(shù)據(jù)還是涉及到數(shù)據(jù)庫處理操作的數(shù)據(jù)集中輸出用于每一分類處理操作和數(shù)據(jù)庫處理操作的從分類處理單元傳送給它的分類數(shù)據(jù)或從數(shù)據(jù)庫處理單元傳送給它的數(shù)據(jù)。因此,第二多路輸入控制單元通過在預(yù)定條件下對它們進(jìn)行轉(zhuǎn)換輸出涉及到分類處理操作的分類數(shù)據(jù)和涉及到數(shù)據(jù)庫處理操作的數(shù)據(jù)。并且,多路輸出控制單元通過在分類數(shù)據(jù)和所述數(shù)據(jù)之間進(jìn)行鑒別分別輸出與每一處理類型相關(guān)的分類數(shù)據(jù)和所述數(shù)據(jù)。這樣,通過使用一個(gè)數(shù)據(jù)處理裝置,可以并行地執(zhí)行分類處理和數(shù)據(jù)庫處理。
另外,如上所述,該數(shù)據(jù)處理裝置還包括連接到分類處理單元和數(shù)據(jù)庫處理單元上的共用存儲器部份,從而使得當(dāng)多個(gè)分類處理器中的至少一個(gè)被旁路時(shí)允許數(shù)據(jù)庫處理單元去使用分類處理及有使用的存貯器。因此,分類處理器的部份存貯器由數(shù)據(jù)庫處理單元所使用,剩余的存貯器用于分類處理,這樣,涉及到數(shù)據(jù)庫處理和涉及到分類處理的數(shù)據(jù)被同時(shí)存貯,這樣,以這種方式使用存貯器不會引起數(shù)據(jù)的相關(guān)干擾。因此,當(dāng)正在執(zhí)行分類處理時(shí),就不必把位于分類處理單元中的數(shù)據(jù)貯存到一個(gè)外部存貯設(shè)備中,并且可以高速地并行執(zhí)行分類處理和數(shù)據(jù)庫處理。
另外,第二多路輸入控制單元在一個(gè)預(yù)定的時(shí)間周期內(nèi)輸出涉及到部份分類處理操作的分類數(shù)據(jù),并在比輸出之后的一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及部份數(shù)據(jù)庫處理操作的數(shù)據(jù)。因此,第二多路輸入控制單元通過在一個(gè)預(yù)定時(shí)間內(nèi)對它們進(jìn)行轉(zhuǎn)換輸出涉及到分類處理操作的分類數(shù)據(jù)和涉及到數(shù)據(jù)庫處理操作的數(shù)據(jù),并且多路輸出控制單元通過在分類數(shù)據(jù)和所述數(shù)據(jù)之間進(jìn)行鑒別輸出分別用于每一處理類型的分類數(shù)據(jù)和所述數(shù)據(jù)。因此,就可以使用一個(gè)數(shù)據(jù)處理裝置并行地執(zhí)行分類處理和數(shù)據(jù)庫處理。
另外,第二多路輸入控制單元承接分類處理操作和數(shù)據(jù)庫處理操作,輸出預(yù)定數(shù)量的涉及分類處理操作的分類數(shù)據(jù),并在該輸出完成之后,輸出預(yù)定數(shù)量的涉及數(shù)據(jù)庫處理操作的數(shù)據(jù)。因此,在輸出了預(yù)定數(shù)量的分類數(shù)據(jù)之后,第二多路輸入控制單元輸出涉及數(shù)據(jù)庫操作的數(shù)據(jù)。這樣,就可以并行執(zhí)行分類操作和數(shù)據(jù)庫操作。
另外,第二多路輸入控制單元承接分類處理操作和數(shù)據(jù)庫處理操作,并且在分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定時(shí)間周期和分類數(shù)據(jù)的輸出達(dá)到了一個(gè)預(yù)定數(shù)量這二個(gè)條件之一被滿足之前一直輸出涉及分類處理操作的分類數(shù)據(jù),并且在這個(gè)輸出之后的一個(gè)預(yù)定時(shí)間周期之內(nèi)輸出涉及數(shù)據(jù)庫處理操作的數(shù)據(jù)。因此,利用一個(gè)數(shù)據(jù)處理裝置可以并行地執(zhí)行分類處理和數(shù)據(jù)庫處理,并且可以轉(zhuǎn)換在一個(gè)固定時(shí)間內(nèi)輸入的數(shù)據(jù)。與此同時(shí),分類數(shù)據(jù)可以在分類處理設(shè)備所能處理的數(shù)據(jù)量的范圍內(nèi)傳送。
另外,由于至少有一個(gè)分類處理器被用于升/降序檢查,所以可以使用至少一個(gè)分類處理器執(zhí)行升/降序檢查。當(dāng)執(zhí)行分類處理時(shí),用于執(zhí)行升/降序檢查的分類處理器被旁路,其余的分類處理器被用于執(zhí)行分類處理。這樣,用于執(zhí)行升/降序檢查的分類處理器就不會干擾存貯在其它分類處理器中的內(nèi)容,而其它的分類處理器也不會干擾存貯在用于執(zhí)行升/降序檢查的分類處理器中的內(nèi)容。因此,可以使用一個(gè)分類處理單元并行地執(zhí)行升/降序檢查和分類處理,并且可以很容易地執(zhí)行在升/降序檢查和分類處理之間的轉(zhuǎn)換。
另外,第2多路輸入控制單元能夠變化地設(shè)置分類處理操作以及除分類處理操作以外由該第二多輸入控制單元承受的數(shù)據(jù)庫處理操作的最大量。這樣,第二多路輸入控制單元承接不超過上限范圍內(nèi)的處理,并問分類處理單元或數(shù)據(jù)庫處理單元輸出用于處理的規(guī)定數(shù)據(jù)。因此,通過使用一個(gè)分類處理單元或一個(gè)數(shù)據(jù)庫處理單元,如果所述最大量被設(shè)置于低等級,則可以實(shí)現(xiàn)大量數(shù)據(jù)的高速處理,而如果所述最大量被設(shè)置在高等級,則可以實(shí)現(xiàn)高容量的多個(gè)分類處理操作或除分類處理以外的處理操作。和使用多個(gè)分類處理單元或多個(gè)數(shù)據(jù)庫處理單元的情況比較,可以降低成本。
在我們描述某些特定實(shí)施例時(shí),應(yīng)當(dāng)理解本發(fā)明并不受限于這些實(shí)施例,并且在本發(fā)明的范圍之內(nèi)可以作出改進(jìn),代替和變化。
權(quán)利要求
1.一種分類方法,包括數(shù)據(jù)塊分割步驟,用于將由多個(gè)記錄構(gòu)成的第一數(shù)據(jù)塊分割成多個(gè)其中的每一個(gè)都具有多個(gè)記錄的第一小數(shù)據(jù)塊;第一分類步驟,用于利用一個(gè)分類處理單元對包括在多個(gè)第一小數(shù)據(jù)塊中每一個(gè)內(nèi)的多個(gè)記錄進(jìn)行分類;第二分類步驟,用于在所述第一分類步驟至少完成一次以后利用所述的分類處理單元對包括在不同于第一數(shù)據(jù)塊的第二數(shù)據(jù)塊內(nèi)的多個(gè)記錄進(jìn)行分類;第三分類步驟,用于在第二分類步驟至少完成一次以后利用所述的處理單元對在第一分類步驟中沒有被分類的第一小數(shù)據(jù)塊進(jìn)行分類;和數(shù)據(jù)塊歸并步驟,用于通過將在第一分類步驟和第三分類步驟中分類的多個(gè)第一小數(shù)據(jù)塊加以歸并而產(chǎn)生分類的數(shù)據(jù)塊。
2.一種分類處理設(shè)備,包括第一多輸入控制單元,用于承接多種分類處理操作,并在預(yù)定處理?xiàng)l件下輸出包括涉及多個(gè)分類處理操作中一個(gè)分類處理操作的一部份的多個(gè)記錄在內(nèi)的分類數(shù)據(jù),在這個(gè)輸出完成以后,輸出包括涉及另一個(gè)分類處理操作的一部份的多個(gè)記錄在內(nèi)的分類數(shù)據(jù);分類處理單元,用于對從所述第一多路輸入控制單元輸入給它的分類數(shù)據(jù)進(jìn)行分類;和多輸出控制單元,用于通過鑒別從所述分類處理單元傳輸給它的數(shù)據(jù)涉及了多個(gè)分類處理操作中的哪一個(gè)分類處理操作集中輸出用于每一分類處理操作的數(shù)據(jù)。
3.如權(quán)利要求2的分類處理設(shè)備,其中,所述第一多輸入控制單元在一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及到多個(gè)分類處理操作中一個(gè)分類處理操作的一部份的分類數(shù)據(jù),并且在完成該輸出以后的一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及另一個(gè)分類處理操作的一部份的分類數(shù)據(jù)。
4.如權(quán)利要求2的分類處理設(shè)備,其中,所述第一多輸入控制單元輸出涉及多個(gè)分類處理操作中一個(gè)分類處理操作的一部份的預(yù)定數(shù)據(jù)量的分類數(shù)據(jù),并在完成這個(gè)輸出之后,輸出涉及另一個(gè)分類處理操作的預(yù)定數(shù)據(jù)量的分類數(shù)據(jù)。
5.如權(quán)利要求2的分類處理設(shè)備,其中,所述第一多輸入控制單元在輸出分類數(shù)據(jù)達(dá)到一個(gè)預(yù)定時(shí)間周期和輸出的分類數(shù)據(jù)達(dá)到一個(gè)預(yù)定數(shù)據(jù)量這兩條件之一被滿足之前輸出涉及多個(gè)分類處理操作中一個(gè)分類處理操作的一部份的分類數(shù)據(jù),并在這個(gè)輸出完成之后輸出涉及到另一分類處理操作的一部份的分類數(shù)據(jù),直到分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定時(shí)間周期和輸出的分類數(shù)據(jù)達(dá)到一個(gè)預(yù)定數(shù)據(jù)量這兩個(gè)條件之一被滿足為止。
6.如權(quán)利要求2的分類處理設(shè)備,其中,當(dāng)從一個(gè)分類處理操作轉(zhuǎn)移到另一個(gè)分類處理操作時(shí),所述的分類處理單元存貯從所述第一多路輸入控制單元輸出的涉及到一個(gè)分類處理操作的一部份的分類數(shù)據(jù)的所有記錄。
7.如權(quán)利要求2的分類處理設(shè)備,其中,所述第一多輸入控制單元能夠可變地設(shè)置由所述第一多輸入控制單元承接的分類處理操作的最大量。
8.如權(quán)利要求2的分類處理設(shè)備,其中,當(dāng)輸出涉及分類處理操作的分類數(shù)據(jù)時(shí),如果檢測到涉及分類處理操作的一個(gè)誤差或一個(gè)刪除時(shí),所述第一多輸入控制單元輸出被加有結(jié)束數(shù)據(jù)的分類數(shù)據(jù),并且所述第一多輸入控制單元中止分類處理操作,同時(shí),多輸出控制單元讀出涉及與被檢測到誤差或刪除相關(guān)的分類處理操作的分類數(shù)據(jù),直到讀出結(jié)束數(shù)據(jù)為止。
9.一種數(shù)據(jù)處理裝置,包括第二多輸入控制單元,用于承接分類處理操作和除分類處理操作以外的數(shù)據(jù)庫處理操作,在預(yù)定的處理?xiàng)l件下輸出涉及部份分類處理操作的分類數(shù)據(jù),并且在完成這個(gè)輸出之后在一個(gè)預(yù)定處理?xiàng)l件之下輸出涉及部份數(shù)據(jù)庫處理操作的數(shù)據(jù);由多個(gè)分類處理器串聯(lián)而成的分類處理單元,用于對從所述第二多輸入控制單元傳送給它的分類數(shù)據(jù)進(jìn)行分類;數(shù)據(jù)庫處理單元,用于對從所述第二多輸入控制單元傳送給它的數(shù)據(jù)執(zhí)行數(shù)據(jù)庫處理操作;和多輸出控制單元,用于通過鑒別傳送給所述多輸出控制單元的數(shù)據(jù)是涉及到分類處理操作的數(shù)據(jù)還是涉及到數(shù)據(jù)庫處理操作的數(shù)據(jù)輸出用于每一分類處理操作或數(shù)據(jù)庫處理操作的從所述分類處理單元傳送給它的分類數(shù)據(jù)或從所述數(shù)據(jù)庫處理單元傳送給它的數(shù)據(jù)。
10.如權(quán)利要求9的數(shù)據(jù)處理裝置,還包括連接到所述分類處理單元和所述數(shù)據(jù)庫處理單元上的共用存貯器部份,從而使得當(dāng)多個(gè)分類處理器中的至少一個(gè)被旁路時(shí),允許所述數(shù)據(jù)庫處理單元去使用分類處理沒有使用的存貯器。
11.如權(quán)利要求9的數(shù)據(jù)處理裝置,其中,所述第二多輸入控制單元在一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及部份分類處理操作的分類數(shù)據(jù),并在這個(gè)輸出完成以后的一個(gè)預(yù)定時(shí)間周期內(nèi)輸出涉及部份數(shù)據(jù)庫處理操作的數(shù)據(jù)。
12.如權(quán)利要求9的數(shù)據(jù)處理裝置,其中,所述第二多輸入控制單元輸出涉及部份分類處理操作的預(yù)定數(shù)量的分類數(shù)據(jù),并在該輸出之后輸出預(yù)定數(shù)量的涉及部份數(shù)據(jù)庫處理操作的數(shù)據(jù)。
13.如權(quán)利要求9的數(shù)據(jù)處理裝置,其中,所述第二多輸入控制單元在分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定時(shí)間周期和分類數(shù)據(jù)的輸出達(dá)到一個(gè)預(yù)定數(shù)據(jù)量的二個(gè)條件之一被滿足前輸出涉及部份分類處理操作的分類數(shù)據(jù),并且在該輸出以后輸出涉及部份數(shù)據(jù)庫處理操作的數(shù)據(jù)達(dá)一個(gè)預(yù)定時(shí)間周期,以響應(yīng)來自所述數(shù)據(jù)庫處理單元的請求。
14.如權(quán)利要求9的數(shù)據(jù)處理裝置,其中,多個(gè)分類處理器中的至少一個(gè)被用于升/降序檢查。
15.如權(quán)利要求9的數(shù)據(jù)處理設(shè)備,其中,所述第二多輸入控制單元能夠可變地設(shè)置所述第二多輸入控制單元承接的分類處理操作和數(shù)據(jù)庫處理操作的最大量。
全文摘要
數(shù)據(jù)處理設(shè)備的控制器由多處理控制單元,輸入數(shù)據(jù)處理控制單元和輸出數(shù)據(jù)處理控制單元構(gòu)成以執(zhí)行多道處理控制,該控制考慮到了由于分類處理設(shè)備所引起的時(shí)間滯后。另外,利用在數(shù)據(jù)處理裝置的分類處理設(shè)備中的分類處理器的控制單元實(shí)現(xiàn)的根據(jù)輸入的初始數(shù)據(jù)對作業(yè)轉(zhuǎn)換的控制等。
文檔編號G06F7/24GK1140284SQ96107310
公開日1997年1月15日 申請日期1996年3月29日 優(yōu)先權(quán)日1995年3月30日
發(fā)明者伏見信也 申請人:三菱電機(jī)株式會社