Последовательность данных


Данные, которые являются последовательными (coherent), это неизмененные данные, которые находятся в сети. Другими словами, если данные являются последовательными, то они относительно сервера и всех клиентов синхронизированы. Отдельные типы систем программного обеспечения, которые предусматривают последовательность данных, является системами RCS (системой управления конфигурацией программного обеспечения - Revision Control System). Такая система обычно довольно проста, лишь одному пользователю дается возможность изменять заданный файл за один раз. Другие могут прочитать файл, но не могут изменить его.

Пользователь, который может изменить файл, как говорят, должен подтвердить это. Затем пользователь регистрирует ввод в модифицированном файле для того, чтобы другие клиенты могли видеть изменения. Лишь после того, как пользователь сохранит изменения  в файле, другой пользователь сможет проверить это.

RCS требует, чтобы активное вмешательство пользователей в работу происходило в конструктивной манере. Файловая система, которая оперирует через сеть, должна обрабатывать проблему автоматически.

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

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

В другой обычной ситуации, когда несколько потоков на одного или нескольких сетевых клиентов могут сделать попытку писать в один и тот же самый файл. Эта ситуация похожа на ту, в который несколько пользователей RCS все хотят внести изменения в тот же самый файл. Каждый пользователь в последовательности должен проверить файл, внести изменения, а затем перепроверить файл. Точно так же в локальной схеме кэширования сервер должен передавать права доступа на запись в файл одновременно только одному клиентскому потоку.

Назад в оглавление
На главную страницу

Hosted by uCoz