Пайпы с "кешированием"

Тема в разделе "WASM.WIN32", создана пользователем 7mm, 2 май 2010.

  1. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Всем привет!

    Мне необходимо что-то типа пайпа с кешированием данных на диске. То есть, нужен интерфейс пайпа - чтение, запись, однако, помимо этого, необходимо иметь возможность хранения непрочитанных данных на диске с возможностью последующей отложенной обработки. Существует ли что-нибудь такое в природе или нужно 'изобретать велосипед'?..

    Спасибо :)
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    если постоянно будешь общаться с диском - будет накладно. тогда проще взять и заюзать обычные файлы. будет тебе и чтение, и запись, и интерфейс и хранение данных на диске (ну или в кеше ФС).
     
  3. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    7mm
    это буфер называется, а не кеш
    пишется элементарно :)
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    в любом случае, что-то, связанное с файлами, тебе потребуется. идеальным вариантом будет, имхо, файловая секция. создаешь временный файл, проецируешь его себе, дальше орудуешь в памяти то-сё, так же её себе проецирует и твой клиент (или сервер, в зависимости от твоей роли), и вы храните поочередно там последние, допустим, 5 сообщений. обрабатываете - стираете.
    если что-то грохнется, процесс вылетит или нужно будет просто отложиьт на потом - не вопрос, грохаете секцию, содержимое остаётся в кэше ФС, потом переходит в файл и остается на диске. когда нужно - открываете, проецируете, обрабатываете снова.

    чем не вариант?
     
  5. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Нет, не постоянно... Хотя, постоянное обращение к диску можно побороть буферизацией. Пайп бы был очень удобен, тут же придётся отслеживать чтение данных из начала файла (PipeFileRead) с целью осуществления некой уборки мусора - прочитанных и обработанных данных.
     
  6. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Да, это будет обычная queue. И реализация у меня не вопросов не вызывает :)

     
  7. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Вариант. Что-то похожее и получается. Только есть одно но... В файле должен быть заголовок с указанием места записи, места чтения. И к данному файлу время от времени должна применяться "чистка", чтобы он не разрастался за счёт находящихся в начале считанных и обработанных данных. Собственно вопрос был в том, а нет ли чего такого системного или ещё какого, чтобы не делать пустой работы :)
     
  8. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    7mm
    по идее вообще нужно не пайп и буффер а Вот это
    http://activemq.apache.org/
    промышленная система работы с сообщениями, но это твоё дело..
     
  9. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Спасибо за информацию, посмотрю. На вскидку: слишком сложно и громоздко для моих задач :)
     
  10. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    7mm
    зато промышленный стандарт с кучей разных вкусностей