воскресенье, 4 апреля 2010 г.

Единая библиотечная сеть города на практике

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

Многие вузовские библиотеки, ЦБС, крупные научные библиотеки, имеющие разветвленную сеть филиалов, уже оценили удобство работы по сети с единым сервером АБИС Абсотек Юникод (Absotheque Unicode). Использование тонкого клиента - веб-браузера - на рабочих местах библиотекарей снимает нагрузку с администраторов системы: нет необходимости установки, настройки и обновления АБИС на каждом рабочем месте, все работы производятся на одном центральном сервере.

С центрального сервера на рабочие места все данные приходят в виде HTML-страниц, большие списки разбиваются на много маленьких, что обеспечивает минимизацию трафика и комфортную работу. Так, например, Вы можете задать поиск в АБИС, по которому найдется 16 000 описаний, и за секунды получить ответ - так как Вы получите первую страницу результатов, а при необходимости можете "пролистать" результаты дальше. Поэтому даже "неудачные" запросы, с огромным количеством результатов не забивают каналы связи, по которым работает библиотека.

Опыт Харькова по организации единой сети городских библиотек

В Харькове в единую городскую библиотечную сеть объединены все 9 районных ЦБС с филиалами и специализированная музыкально-театральная библиотека им. Станиславского. Все они работают на едином сервере Абсотек Юникод, в одной общей базе данных.

Скорость доступа к сети по договору с провайдером до 2 МБит/с, связь между библиотеками обеспечивается по обычной телефонной линии с помощью ADSL модемов. Реальная скорость связи рабочих мест библиотекарей с центральным сервером существенно ниже, и выше 512 КБит/с удается получить очень редко. Тем не менее, библиотечная сеть работает, правда сейчас из 9 районов реально работают 4-5 с минимальной нагрузкой: без книговыдачи и поиска читателями литературы в ЭК. У администраторов сети есть опасения, что как только начнется полноценная работа всех районов - сеть не выдержит. Опасения вполне обоснованы, учитывая невысокую пропускную способность сети, но я уверен, что можно обеспечить работу всех библиотек в единой сети не затрачивая дополнительных средств на расширение каналов данных. Описание фокуса - далее.

Снижение нагрузки на библиотечную сеть в 10 раз: включаем сжатие данных

Существует возможность высвободить огромную часть пропускной способности сети. Для этого веб-сервер АИБС должен перед отправкой данных браузеру (HTML-страниц) обеспечивать их сжатие алгоритмом GZIP (аналог алгоритма ZIP, используемого многими программами-архиваторами, например, встроенной программой сжатия в Windows XP). Браузер, получая сжатую страницу, должен ее распаковать и затем отобразить пользователю. Практически все разумные браузеры поддерживают GZIP, в том числе Internet Explorer начиная с версии 6, который можно установить на Windows 98 и более новые ОС Microsoft, а при желании даже на Linux.

Например, мы получаем следующую страницу с результатами поиска по запросу "Энергетик" в АБИС НТБ МЭИ (ТУ):


Из почти 3000 результатов система нам отобразила только первые 30,  используя панель навигации мы можем перейти на следующие страницы. Можем кликнуть на заглавия столбцов и получить результаты, отсортированные по автору или дате издания (например 30 самых свежих изданий) - благодаря этому следующие страницы могут нам даже не понадобиться.

Однако, из-за использования специального кодирования символов Unicode, HTML страница "весит" достаточно много, и от сервера на ПК библиотекаря было передано 114 Кбайт. Передача такого объема данных по каналу 512 Кбит/с (что равно 64 Кбайт/c)  займет примерно 2 секунды. Включаем сжатие на сервере, и объем переданных данных снижается до 11 Кбайт, т.е. в 10 раз! Получаем скорость загрузки 0.2 секунды без увеличения пропускной способности канала!

Выводы и информация для размышления

Клиент-серверные системы с толстым клиентом (например, Марк-SQL, Ирбис-64 и др.) требуют широких и стабильных (и дорогих) каналов передачи данных и бОльших затрат на администрирование каждого рабочего места, а терминальные системы (например LiberMedia) не требовательны к пропускной способности, но очень чувствительны к стабильности подключения.

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

Пример Харькова доказывает это утверждение, вполне возможно (и как это было бы здорово! - прим. читателя 2.0) распространить такие "бюджетные" решения на другие города. Для обеспечения доступа читателей к ЭК в нашем примере достаточно одного хорошего канала связи с Интернет - для центрального сервера, дорогие широкие каналы связи в каждую библиотеку проводить не обязательно.



P.S. В ближайшее время я планирую быть в Харькове проездом (17 апреля, так как с 14 по 17 апреля я буду в командировке в Полтаве, и возвращаться в Москву буду через Харьков), может быть, удастся связаться с библиотекой и заехать поговорить о текущих задачах и проблемах, хотя на это у меня будет только несколько часов.

P.P.S. У ЗАО "Компания Либэр" есть планы проведения конференции в Украине, и если они осуществляться, я обязательно напишу об этом в блоге. Как и на прошлогодней осенней конференции в Сочи (очень удачной, я считаю), мы будем рады видеть всех - и пользователей наших систем, и других АБИС - для того, чтобы в теплой компании пообщаться,  поделиться опытом, проблемами, успехами и достижениями в развитии наших библиотек. Если есть желание поучаствовать в наших конференциях - напишите нам на почту: support собачка libermedia.ru, и Вы обязательно будете получиать приглашения на все конференции, которые мы регулярно организовываем и в России, и за рубежом.

А информация далее в этой статье предназначена для администраторов АБИС. Я расскажу, каким именно образом включается сжатие страниц на сервере IIS.


Для того, чтобы настроить на сервере сжатие передаваемых web-страниц АБИС:
  1. В меню Пуск выбираем Run.
  2. В открывшемся окне наберите cmd, и нажмите OK.
  3. Наберите cd C:\Inetpub\AdminScripts\
  4. Наберите все следующие команды, после каждой команды нажмите Ввод (Enter):
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcFileExtensions htm html txt js css
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcFileExtensions htm html txt js css
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcScriptFileExtensions asp dll exe php
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions asp dll exe php
  • cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true
  • cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcFileExtensions htm html txt js css
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcDynamicCompressionLevel 9
  • cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcDynamicCompressionLevel 9
5. Перезапустите IIS или Windows целиком.

Не заработало? Пишите на почту: support собачка libermedia.ru

До новых встреч!

Комментариев нет:

Отправить комментарий