Обсуждения текущей реализации загрузки смайлов

Здесь обсуждаются общие вопросы, связанные с программой.
mafanya
Сообщения: 1
Зарегистрирован: 21:21, 29.05.2009

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение mafanya »

А как загрузить новый пак смайлов в CommFort в локальной сети?
И кто обладает таким правом?
Аватара пользователя
jackrv
Сообщения: 272
Зарегистрирован: 13:06, 31.12.2008
Откуда: Украина Кривой Рог
Контактная информация:

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение jackrv »

mafanya писал(а):А как загрузить новый пак смайлов в CommFort в локальной сети?
И кто обладает таким правом?
Тот кто обладает shell или прямым доступом. FTP и прочее не пойдет тк нужно сервер пережагружать!
Maxim Mirgorodsky
Администратор
Сообщения: 6890
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение Maxim Mirgorodsky »

mafanya писал(а):А как загрузить новый пак смайлов в CommFort в локальной сети?
Выбрать набор и распаковать его в папку "CommFort_server\Smilies\Custom"
mafanya писал(а):И кто обладает таким правом?
Администратор сервера.
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение JKL »

Спустя девять месяцев после первого моего сообщения в данной теме - хотелось бы вернуться к вопросу о возможности создания системы раздельной загрузки пакета со смайлами по их фактическим группам, а именно чтобы при изменении одного смайла на стороне сервера, не грузился бы весь пакет смайлов заново, а только та группа в которой он был изменён. Сдёлать это не трудно и вполне по силам в рамках бета-тестирование которое сейчас началось и будет продолжаться недели две-три, а преимуществ по сравнению с текущей системой - очень много. Скоро Новый Год и я не хочу слушать недовольства или высказывания в сторону администрации чата от пользователей о том, что опять меняются смайлы. Огромная просьба создателей чата - обратить своё внимание на моё небольшое пожелание.
Maxim Mirgorodsky
Администратор
Сообщения: 6890
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение Maxim Mirgorodsky »

В данном случае деление набора смайлов будет способствовать росту нагрузки и на сеть, и (правда в меньшей степени) на клиентскую часть. Потому что при каждом подключении будет необходимость передавать хеш-код не одного файла-набора смайлов, а бОльшего числа.

Мы не видим необходимости в частом изменении набора смайлов. Большое их количество негативно сказывается на потреблении ресурсов клиентской стороной, да и запомнить среднестатестический пользователь очень много смайлов не способен. Для рекламных баннеров рекомендуем использовать функционал Unlimited Premium версии.
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение JKL »

Нет, дело не в рекламных баннерах или возможностях Ultimate Premium. Не хотелось бы разглашать данную информацию здесь на форуме, но в нашей сети он уже давно стоит. В данном случае просьба идёт именно об оптимизации передачи данных и соответственно таких образом - общей нагрузки на сеть. Смайлы, которые идут с клиентом по умолчанию - занимают 645 кб и разделены на три группы, здесь выгода будет конечно же малозначительна или малозаметна от изменения способа их загрузки. Я не буду спорить по поводу того сколько смайлов способен запомнить среднестатистический пользователь - возможно Вы правы, но раз включена и существует возможность в чате пользоваться смайлами общим количеством 1000 штук и объёмом 10 мб и загружать их с сервера, а не "присылать по почте", то хотелось бы пользоваться этой возможностью по полной, да к тому же у нас вроде бы тоже не "дураки" сидят, которые управляют всем этим хозяйством и хотят сделать именно так, а ни как иначе, у каждого ведь свои потребности и задачи и каждый их решает своим путём.

Никто не говорит об их автоматической загрузки с сервера - нет. Пусть так же выводится сообщение: нажмите сюда чтобы скачать 2 новых группы смайлов размером n-килобайт. И пусть жмут себе и качают. Вот представьте пожалуйста себе - у нас смайлы забиты под "завязку". Скоро Новый Год, нужно удалить одну или несколько групп обычных смайлов и добавить новогодних, держать Новогодние смайлы круглый год в наборе других смайлов было бы крайне глупо. Поэтому можно только представить сколько "вони" и недовольства возникнет при таких действиях и я знаю о чём я говорю, потому как сталкивался с этим уже не один раз и на прошлый новый год было тоже самое. Если при 645 кб выигрыш в оптимизации будет не заметен, то при изменении 1 группы смайлов из 10 мб набора, будет экономиться в среднем 9 мб трафика - по-моему выигрыш на лицо и никаких других доказательств не требует, что в десять раз лучше скачать 1 мб, чем 10.

Я так понимаю, что хеш смайлов это набор символов в имени файла с ним. т.е. "1ecf5eb13fa042fe93afeec6f23ab336.cfpack" это и есть хеш и если посчитать то здесь как раз 16 байт, если я не прав поправьте меня пожалуйста и если я опять понимаю правильно - передаются они при подключению к серверу. Так, что мешает передать не 16, а 160 байт за один раз и сделать не один файл где хранятся смайлы, а десять:

1ecf5eb13fa042fe93afeec6f23ab336.cfpack
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cfpack1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cfpack2
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cfpack3
и т.д.
Либо можно обойтись вообще без цифр на конце, ведь хеш уникален для каждого набора и их совпадение крайне маловероятно.

При этом даже совместимость со старой версией клиента не теряется, просто в старом клиенте при подключении к новому серверу будет отображаться одна группа смайлов - первая. От всего этого получается огромный выигрыш в трафике во всей сети при последующем скачивании смайлов. Если честно я не понимаю - чем не оптимизация... Очень хотелось бы надеяться на Ваше понимание, а не отправка к рекомендациям, которые и так давно уже все знают.
Maxim Mirgorodsky
Администратор
Сообщения: 6890
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение Maxim Mirgorodsky »

Совместимость, конечно же, сохранить не удастся при таких изменениях.

По нагрузке на сеть. Вы правильно написали: 160 байт в случае если разделить на 10 частей набор смайлов. Это дополнительно 144 байта необходимо выслать каждому пользователю при каждом подключении к серверу. Серверы с высокой нагрузкой могут обрабатывать в районе 2000-3000 подключений в час. 144*3000=432 лишних килобайта в час. Цифра не такая то и безобидная.

Далее непонятно как это будет выглядеть с клиентской стороны. Предлагать загружать каждую группу смайлов по отдельности глупо. А если часть смайлов будет работать, а часть нет - то именно так и получится. Если же отключать все смайлы до загрузки измененных групп - то все это получается делается только для экономии ресурсов сети при загрузке смайлов. Но учитывая предыдущие подсчеты и тот факт что нет причин изменять набор смайлов чаще нескольких раз в год, получается шило на мыло.
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение JKL »

Да, Вы совершенно правы - загружать каждую группу смайлов по отдельности было бы довольно глупо и действовало бы ещё более раздражающе на пользователей. Нет, просто при изменении какой-либо одной группы - загружаются все изменившиеся группы. Допустим в чате существует три группы - первая и третья изменились, они и загружаются.

Можно же ещё изменить число и структуру передаваемых байт, например вместо 16 байт - использовать 10 или 12 (или вообще 8), что теоретически в два раза снизит нагрузку на сервер. Вместо 432 килобайт будет лишь 216 кб. Даже при восьми байт вероятность совпадения хешей будет очень мала, это в два раза больше чем у CRC32.

Второе - не у всех же по десять групп смайлов в чате, можно же передавать данные и по количеству групп, например в чате три группы - 3*16 = 48 байт. Первые шестнадцать байт соответствуют первой группе, вторые - второй, третьи - третьей. Все эти расчёты теоретически соответствуют самым высоким нагрузкам.

Конечно, может праздников у нас и не так много, но Вы заметили, что с выходом 4-ой версии чата, на форуме перестали появляться новые пакеты смайлов для него - хотя вроде бы ничего этому и не мешает? Пусть допустим у нас 7 праздников в год, надо поставить смайлы и через пару дней их убрать, что грубо говоря соответствует 14 изменениям смайл-пака в год, это не так уж и мало как может показаться на первый взгляд и не каждый админ на это решится. С появлением этого нововведения, появятся и новые наборы смайлов и многие проблемы связанные с ними отпадут сами собой.

По поводу совместимости мне конечно же трудно судить, я не программист и не знаю внутренней структуры, но считаю, что создать и реализовать данную систему будет гораздо проще чем, в своё время Вы реализовали систему удаления строк - за которую каждый сейчас может сказать Вам отдельное спасибо.
Maxim Mirgorodsky
Администратор
Сообщения: 6890
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение Maxim Mirgorodsky »

в своё время Вы реализовали систему удаления строк
Она потребовала несовместимости между бета-версиями.

Что же касается смайлов - то все равно не видим серьезной экономии ресурсов. И необходимости 14 раз в год изменять набор смайлов.
•NormaBot•
Сообщения: 1428
Зарегистрирован: 20:57, 21.10.2008
Откуда: Украина.Херсон
Контактная информация:

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение •NormaBot• »

Как я уже говорил такое впечатление что люди загружают наборы смайлов по 10 раз за день и загрузка их идёт по часу.Такое им прям неудобство она создаёт. :lol:
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение JKL »

Maxim Mirgorodsky писал(а):Что же касается смайлов - то все равно не видим серьезной экономии ресурсов. И необходимости 14 раз в год изменять набор смайлов.
Это же был всего лишь пример, а не как правило. Экономия ресурсов в любом случае есть, пусть выражающаяся не в байтах, а в моральной удовлетворённости и в тех нервах, которые были потрачены. Очень жаль, что не хотите пойти на встречу в этом вопросе, ведь новая система логов, тоже не совместима со старой...
JKL
Сообщения: 191
Зарегистрирован: 04:42, 09.06.2007

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение JKL »

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

На сервере изменился набор смайлов, пользователь запустивший чат подключается к этому серверу.

1. Загрузка существующего набора смайлов из кэша (Функция - №1)
2. Проверка клиентом на наличие нового набора смайлов.
3. Вход в чат и отображение каналов.

4. Скачивание нового набора по требованию пользователя.
5. Автоматическое обновление всех открытых каналов (Функция - №2)

Другими словами я преследую цель минимизировать появление "пустых" кодов смайлов, без отображения самих изображений смайлов. Чтобы набор со смайлами загружался клиентом в не зависимости от того появился ли новые смайлы на сервере, а уже после их загрузки все каналы обновлялись бы под новый набор - именно "обновлялись", а не "очищались" или ещё что-нибудь в этом духе.

P.S Оговорюсь сразу же и скажу, что "оговорки" следующего рода: "коды смайлов могут не совпадать или отображаться затем не правильно" - считаю не состоятельными, маловероятными или же малозначащими, а так же не способными причинить ущерб общению пользователей.
Maxim Mirgorodsky
Администратор
Сообщения: 6890
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение Maxim Mirgorodsky »

На данный момент система смайлов такова что у всех пользователей со 100% вероятностью показываются одинаковые смайлы.

Если загружать клиентам из кэша другие (неактуальные) наборы смайлов - это правило будет нарушено. Полагаем, вреда здесь больше чем пользы. Ведь, помимо некорректного отображения, пользователи будут еще и публиковать в своих сообщениях смайлы с некорректными кодами.
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение wizard50 »

Если я правильно то о чем хотел сказать JKL, то другими словами он предлагает чтобы клиент-чата до входа в каналы предлагал клиенту обновить набор смайлов если он изменился на сервере. То есть не по нажатию на смайлы как сейчас, а в момент подключения к серверу. В принципе это не плохая идея. И решило бы часть вопросов. И кстати можно было бы предлагать вопрос, загрузить новые смайлы или зайти без загрузки. То заходя на какой то сервер временно клиент бы не тратил ресурсы если оно ему не надо и работал бы как и сейчас при отсутствии набора смайлов. А при желании скачать новый набор сразу входил в чат и видел бы оформление каналов с текущим смайл паком.
Maxim Mirgorodsky
Администратор
Сообщения: 6890
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждения текущей реализации загрузки смайлов

Сообщение Maxim Mirgorodsky »

Да, предложением номер 2 было применение набора смайлов к содержимому каналов после загрузки. Теоретически, перерисовать содержимое каналов можно. Но эта операция будет длиться до нескольких десятков секунд (в случае приличного заполнения содержимого каналов). Полагаю, пользователи предпочтут не видеть опубликованные смайлы, чем такую процедуру. Тем более загрузка набора происходит в фоновом режиме и перерисовка может застать в расплох...
Ответить