|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Evgenij M. Baldin 2:5020/400 04 Jun 2003 17:18:28 To : Soshnikov V Ivan Subject : Re: "Двумерная схема" фильтров ? -------------------------------------------------------------------------------- Soshnikov V Ivan <ivan@escltd.ru> wrote: > Hello, Evgenij! > You wrote on Wed, 4 Jun 2003 09:54:22 +0000 (UTC): > EMB> cat много данных -> filtr1 ---> filtr2 ---> filtr4 -> результаты > EMB> | | > EMB> +-> filtr3 -------+ > Бери перл, там лучше (удобнее) всего реализован механизм регэкспов. > Примеры я тут не буду лепить, т.к. конкретная реализация зависит от > конкретных данных. > Если у тебя фильтр2 фильтрует выход с фильтр1, то Имелось в виду не это, а то что данные для filtr4 поставляются от filtr2 и filtr3. Схему немного коряво нарисовал - теперь подправил (см. выше). И данных не просто много, а очень много - гигобайты бинарных данных, а фильтрами являются программы. Причём для обработки данных filtr4 требуются одновременно данные и от filtr2 и от filtr3, причём возможна ситуация, что пока filtr3 не закончит работу и не предоставит данные, filtr4 не может начать обработку. Я пока даже сформулировать внятно, что мне надо не могу :(. Понятно, что это можно организовать следующим образом: cat Много данных | filtr1 > file1 cat file1 | filtr2 >file2 cat file1 | filtr3 >file3 file2,file3 -> filtr4 -> результаты Условия: file3 получается быстрее file2, но для обработки требуется весь file3, а file2 в порядке прибавления объёма. Hо хотелось бы избавиться от промежуточных файлов, то есть избавиться от необходимости задавать их руками, так как использовать shell pipe будет не очень мудрым решением для большого объёма данных. Сама задача: Есть детектор (большой - не такой большой как у буржуев, но в России, пожалуй, самый большой :) ) с которого идут сырые данные - их надо обработать. Обработку можно разделить на несколько стадий 1) Выбраковка заведомо битых событий (ошибки чтения), приложение простейших калибровок (вычитание пьедесталов и приблизительное вычисление физических характеристик) 2) Выделение нерабочих каналов - здесь надо прогнать весь файл захода и найти те каналы, которые срабатывают чаще или реже чем должны (простейший случай) 3) Затем идёт полная реконструкция (делаются частицы), где для её выполнения нужны данные из пункта 1 (в порядке поступления) и из пункта 2 (всё), то есть пока 2 не выполнится 3 нельзя начинать, но 2 делается быстрее, чем 1 (вероятно). Есть ещё несколько стадий, но для постановки задачи достаточно этих трёх. С уважением Евгений P.S. Извиняюсь за некую косноязычность я пытаюсь понять является ли то, что говорю проблемой или это просто лёгкое заблуждение :) -- --------------------------------------------------------------------------- Budker Institute of Nuclear Physics e-mail: E.M.Baldin(at)inp.nsk.su tel.: 8(3832)361388(h), (39)4137,4880(w) WWW: http://www.inp.nsk.su/~baldin --------------------------------------------------------------------------- --- ifmail v.2.15dev5 * Origin: BINP, Novosibirsk, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/884399367be1.html, оценка из 5, голосов 10
|