СПОСОБ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ УПОРЯДОЧЕННЫХ ПОТОКОВ ДАННЫХ

Способ параллельной обработки упорядоченных потоков данных в вычислительной системе, причем система содержит
первый блок, обеспечивающий
прием входных потоков данных (из внешних сетевых соединений);
разделение входных потоков данных на части;
снабжение каждой части каждого входного потока данных атрибутами;
передачу частей каждого входного потока данных в процессорные блоки для обработки;
совокупность процессорных блоков, каждый из которых имеет в своем составе процессор и средства для хранения обработанных частей входных потоков данных и обеспечивает
обработку по заданному алгоритму частей входных потоков данных;
передачу обработанных частей входных потоков данных в соответствующие выходные потоки данных;
хранение обработанных частей входных потоков данных, до момента выполнения условий посылки этих частей в соответствующий выходной поток данных;
передачу обработанных частей входных потоков данных в другие процессорные блоки;
получение обработанных частей входных потоков данных из других процессорных блоков;
поиск заданных элементов в атрибутах частей входных потоков данных;
причем первый блок связан с совокупностью процессорных блоков,
способ, заключающийся в том, что
получают входные потоки данных из сетевых соединений в первом блоке;
передают части входных потоков данных для обработки в процессорные блоки, причем каждая часть каждого входного потока данных снабжается атрибутами, в состав которых включается идентификатор входного потока
идентификатор положения данной части во входном потоке;
обрабатывают части входных потоков данных в процессорных блоках для получения соответствующих частей выходных потоков данных;
обеспечивают порядок следования частей выходных потоков данных из процессорных блоков, который соответствует порядку частей входных потоков данных, причем для обеспечения порядка следования
проводят поиск процессорного блока, в котором обрабатывается часть определенного входного потока данных, находившаяся в определенном первом потоке перед частью, уже обработанной в рассматриваемом процессорном блоке, причем,
если после поиска таких процессорных блоков найдено несколько, то выбирают тот процессорный блок, в котором обрабатывается часть определенного входного потока данных, расположенная наиболее близко к обработанной части определенного входного потока;
передают обработанную часть определенного входного потока данных из рассматриваемого процессорного блока в выбранный процессорный блок, а также, при наличии, ранее полученные от других процессорных блоков обработанные части входного потока данных;
если после поиска таких процессорных блоков не найдено, то
передают обработанные части входного потока данных в соответствующий выходной поток данных, в которых порядок следования частей соответствует порядку следования частей в соответствующем входном потоке, с учетом ранее полученных от других процессорных блоков обработанных частей входного потока данных.