У меня есть унаследованная система клиентских серверов, на которой сервер ведет запись некоторых данных, хранящихся в базе данных sqlite. Данные связаны с мониторингом шаблонов доступа к файлам, хранящимся на сервере. Клиентское приложение в основном является удаленным средством просмотра данных. Когда клиент запущен, он подключается к серверу и получает данные с сервера для отображения в виде сетки. Данные обновляются в реальном времени на сервере, и просмотр в клиенте автоматически обновляется.Повышение эффективности системы клиентских серверов
Есть две проблемы, связанные с текущей реализацией:
Когда база данных становится слишком большой, он занимает много времени, чтобы загрузить клиент. Каковы наилучшие способы борьбы с этим. Один из вариантов - поддерживать кеш на стороне клиента. Как лучше всего реализовать кеш?
Как сервер может поддерживать diff так, чтобы он посылал diff только в течение цикла обновления. Может быть несколько клиентов, и каждый клиент должен отображать последние данные, доступные на сервере.
Сервер - это демон службы Windows. И клиент, и сервер реализованы в C#
Не могли бы вы подробнее рассказать о данных загрузки в подходах страниц? Я использую представление Grid. Таким образом, мы загружаем данные впоследствии, когда пользователь просматривает представление? – Tanuj
Возможно, отправьте пустую таблицу клиенту, а затем используйте ajax для загрузки данных асинхронно на страницах, скажем 1000 записей за раз. Я бы подождал, пока пользователь будет прокручиваться, потому что пользовательский опыт будет отрывистым по сравнению с текущей реализацией. –