Обсуждения текущей реализации загрузки смайлов
Re: Обсуждения текущей реализации загрузки смайлов
А как загрузить новый пак смайлов в CommFort в локальной сети?
И кто обладает таким правом?
И кто обладает таким правом?
- jackrv
- Сообщения: 272
- Зарегистрирован: 13:06, 31.12.2008
- Откуда: Украина Кривой Рог
- Контактная информация:
Re: Обсуждения текущей реализации загрузки смайлов
Тот кто обладает shell или прямым доступом. FTP и прочее не пойдет тк нужно сервер пережагружать!mafanya писал(а):А как загрузить новый пак смайлов в CommFort в локальной сети?
И кто обладает таким правом?
-
- Администратор
- Сообщения: 6890
- Зарегистрирован: 09:56, 27.06.2005
Re: Обсуждения текущей реализации загрузки смайлов
Выбрать набор и распаковать его в папку "CommFort_server\Smilies\Custom"mafanya писал(а):А как загрузить новый пак смайлов в CommFort в локальной сети?
Администратор сервера.mafanya писал(а):И кто обладает таким правом?
Re: Обсуждения текущей реализации загрузки смайлов
Спустя девять месяцев после первого моего сообщения в данной теме - хотелось бы вернуться к вопросу о возможности создания системы раздельной загрузки пакета со смайлами по их фактическим группам, а именно чтобы при изменении одного смайла на стороне сервера, не грузился бы весь пакет смайлов заново, а только та группа в которой он был изменён. Сдёлать это не трудно и вполне по силам в рамках бета-тестирование которое сейчас началось и будет продолжаться недели две-три, а преимуществ по сравнению с текущей системой - очень много. Скоро Новый Год и я не хочу слушать недовольства или высказывания в сторону администрации чата от пользователей о том, что опять меняются смайлы. Огромная просьба создателей чата - обратить своё внимание на моё небольшое пожелание.
-
- Администратор
- Сообщения: 6890
- Зарегистрирован: 09:56, 27.06.2005
Re: Обсуждения текущей реализации загрузки смайлов
В данном случае деление набора смайлов будет способствовать росту нагрузки и на сеть, и (правда в меньшей степени) на клиентскую часть. Потому что при каждом подключении будет необходимость передавать хеш-код не одного файла-набора смайлов, а бОльшего числа.
Мы не видим необходимости в частом изменении набора смайлов. Большое их количество негативно сказывается на потреблении ресурсов клиентской стороной, да и запомнить среднестатестический пользователь очень много смайлов не способен. Для рекламных баннеров рекомендуем использовать функционал Unlimited Premium версии.
Мы не видим необходимости в частом изменении набора смайлов. Большое их количество негативно сказывается на потреблении ресурсов клиентской стороной, да и запомнить среднестатестический пользователь очень много смайлов не способен. Для рекламных баннеров рекомендуем использовать функционал Unlimited Premium версии.
Re: Обсуждения текущей реализации загрузки смайлов
Нет, дело не в рекламных баннерах или возможностях 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
и т.д.
Либо можно обойтись вообще без цифр на конце, ведь хеш уникален для каждого набора и их совпадение крайне маловероятно.
При этом даже совместимость со старой версией клиента не теряется, просто в старом клиенте при подключении к новому серверу будет отображаться одна группа смайлов - первая. От всего этого получается огромный выигрыш в трафике во всей сети при последующем скачивании смайлов. Если честно я не понимаю - чем не оптимизация... Очень хотелось бы надеяться на Ваше понимание, а не отправка к рекомендациям, которые и так давно уже все знают.
Никто не говорит об их автоматической загрузки с сервера - нет. Пусть так же выводится сообщение: нажмите сюда чтобы скачать 2 новых группы смайлов размером n-килобайт. И пусть жмут себе и качают. Вот представьте пожалуйста себе - у нас смайлы забиты под "завязку". Скоро Новый Год, нужно удалить одну или несколько групп обычных смайлов и добавить новогодних, держать Новогодние смайлы круглый год в наборе других смайлов было бы крайне глупо. Поэтому можно только представить сколько "вони" и недовольства возникнет при таких действиях и я знаю о чём я говорю, потому как сталкивался с этим уже не один раз и на прошлый новый год было тоже самое. Если при 645 кб выигрыш в оптимизации будет не заметен, то при изменении 1 группы смайлов из 10 мб набора, будет экономиться в среднем 9 мб трафика - по-моему выигрыш на лицо и никаких других доказательств не требует, что в десять раз лучше скачать 1 мб, чем 10.
Я так понимаю, что хеш смайлов это набор символов в имени файла с ним. т.е. "1ecf5eb13fa042fe93afeec6f23ab336.cfpack" это и есть хеш и если посчитать то здесь как раз 16 байт, если я не прав поправьте меня пожалуйста и если я опять понимаю правильно - передаются они при подключению к серверу. Так, что мешает передать не 16, а 160 байт за один раз и сделать не один файл где хранятся смайлы, а десять:
1ecf5eb13fa042fe93afeec6f23ab336.cfpack
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cfpack1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cfpack2
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cfpack3
и т.д.
Либо можно обойтись вообще без цифр на конце, ведь хеш уникален для каждого набора и их совпадение крайне маловероятно.
При этом даже совместимость со старой версией клиента не теряется, просто в старом клиенте при подключении к новому серверу будет отображаться одна группа смайлов - первая. От всего этого получается огромный выигрыш в трафике во всей сети при последующем скачивании смайлов. Если честно я не понимаю - чем не оптимизация... Очень хотелось бы надеяться на Ваше понимание, а не отправка к рекомендациям, которые и так давно уже все знают.
-
- Администратор
- Сообщения: 6890
- Зарегистрирован: 09:56, 27.06.2005
Re: Обсуждения текущей реализации загрузки смайлов
Совместимость, конечно же, сохранить не удастся при таких изменениях.
По нагрузке на сеть. Вы правильно написали: 160 байт в случае если разделить на 10 частей набор смайлов. Это дополнительно 144 байта необходимо выслать каждому пользователю при каждом подключении к серверу. Серверы с высокой нагрузкой могут обрабатывать в районе 2000-3000 подключений в час. 144*3000=432 лишних килобайта в час. Цифра не такая то и безобидная.
Далее непонятно как это будет выглядеть с клиентской стороны. Предлагать загружать каждую группу смайлов по отдельности глупо. А если часть смайлов будет работать, а часть нет - то именно так и получится. Если же отключать все смайлы до загрузки измененных групп - то все это получается делается только для экономии ресурсов сети при загрузке смайлов. Но учитывая предыдущие подсчеты и тот факт что нет причин изменять набор смайлов чаще нескольких раз в год, получается шило на мыло.
По нагрузке на сеть. Вы правильно написали: 160 байт в случае если разделить на 10 частей набор смайлов. Это дополнительно 144 байта необходимо выслать каждому пользователю при каждом подключении к серверу. Серверы с высокой нагрузкой могут обрабатывать в районе 2000-3000 подключений в час. 144*3000=432 лишних килобайта в час. Цифра не такая то и безобидная.
Далее непонятно как это будет выглядеть с клиентской стороны. Предлагать загружать каждую группу смайлов по отдельности глупо. А если часть смайлов будет работать, а часть нет - то именно так и получится. Если же отключать все смайлы до загрузки измененных групп - то все это получается делается только для экономии ресурсов сети при загрузке смайлов. Но учитывая предыдущие подсчеты и тот факт что нет причин изменять набор смайлов чаще нескольких раз в год, получается шило на мыло.
Re: Обсуждения текущей реализации загрузки смайлов
Да, Вы совершенно правы - загружать каждую группу смайлов по отдельности было бы довольно глупо и действовало бы ещё более раздражающе на пользователей. Нет, просто при изменении какой-либо одной группы - загружаются все изменившиеся группы. Допустим в чате существует три группы - первая и третья изменились, они и загружаются.
Можно же ещё изменить число и структуру передаваемых байт, например вместо 16 байт - использовать 10 или 12 (или вообще 8), что теоретически в два раза снизит нагрузку на сервер. Вместо 432 килобайт будет лишь 216 кб. Даже при восьми байт вероятность совпадения хешей будет очень мала, это в два раза больше чем у CRC32.
Второе - не у всех же по десять групп смайлов в чате, можно же передавать данные и по количеству групп, например в чате три группы - 3*16 = 48 байт. Первые шестнадцать байт соответствуют первой группе, вторые - второй, третьи - третьей. Все эти расчёты теоретически соответствуют самым высоким нагрузкам.
Конечно, может праздников у нас и не так много, но Вы заметили, что с выходом 4-ой версии чата, на форуме перестали появляться новые пакеты смайлов для него - хотя вроде бы ничего этому и не мешает? Пусть допустим у нас 7 праздников в год, надо поставить смайлы и через пару дней их убрать, что грубо говоря соответствует 14 изменениям смайл-пака в год, это не так уж и мало как может показаться на первый взгляд и не каждый админ на это решится. С появлением этого нововведения, появятся и новые наборы смайлов и многие проблемы связанные с ними отпадут сами собой.
По поводу совместимости мне конечно же трудно судить, я не программист и не знаю внутренней структуры, но считаю, что создать и реализовать данную систему будет гораздо проще чем, в своё время Вы реализовали систему удаления строк - за которую каждый сейчас может сказать Вам отдельное спасибо.
Можно же ещё изменить число и структуру передаваемых байт, например вместо 16 байт - использовать 10 или 12 (или вообще 8), что теоретически в два раза снизит нагрузку на сервер. Вместо 432 килобайт будет лишь 216 кб. Даже при восьми байт вероятность совпадения хешей будет очень мала, это в два раза больше чем у CRC32.
Второе - не у всех же по десять групп смайлов в чате, можно же передавать данные и по количеству групп, например в чате три группы - 3*16 = 48 байт. Первые шестнадцать байт соответствуют первой группе, вторые - второй, третьи - третьей. Все эти расчёты теоретически соответствуют самым высоким нагрузкам.
Конечно, может праздников у нас и не так много, но Вы заметили, что с выходом 4-ой версии чата, на форуме перестали появляться новые пакеты смайлов для него - хотя вроде бы ничего этому и не мешает? Пусть допустим у нас 7 праздников в год, надо поставить смайлы и через пару дней их убрать, что грубо говоря соответствует 14 изменениям смайл-пака в год, это не так уж и мало как может показаться на первый взгляд и не каждый админ на это решится. С появлением этого нововведения, появятся и новые наборы смайлов и многие проблемы связанные с ними отпадут сами собой.
По поводу совместимости мне конечно же трудно судить, я не программист и не знаю внутренней структуры, но считаю, что создать и реализовать данную систему будет гораздо проще чем, в своё время Вы реализовали систему удаления строк - за которую каждый сейчас может сказать Вам отдельное спасибо.
-
- Администратор
- Сообщения: 6890
- Зарегистрирован: 09:56, 27.06.2005
Re: Обсуждения текущей реализации загрузки смайлов
Она потребовала несовместимости между бета-версиями.в своё время Вы реализовали систему удаления строк
Что же касается смайлов - то все равно не видим серьезной экономии ресурсов. И необходимости 14 раз в год изменять набор смайлов.
-
- Сообщения: 1428
- Зарегистрирован: 20:57, 21.10.2008
- Откуда: Украина.Херсон
- Контактная информация:
Re: Обсуждения текущей реализации загрузки смайлов
Как я уже говорил такое впечатление что люди загружают наборы смайлов по 10 раз за день и загрузка их идёт по часу.Такое им прям неудобство она создаёт. 

Re: Обсуждения текущей реализации загрузки смайлов
Это же был всего лишь пример, а не как правило. Экономия ресурсов в любом случае есть, пусть выражающаяся не в байтах, а в моральной удовлетворённости и в тех нервах, которые были потрачены. Очень жаль, что не хотите пойти на встречу в этом вопросе, ведь новая система логов, тоже не совместима со старой...Maxim Mirgorodsky писал(а):Что же касается смайлов - то все равно не видим серьезной экономии ресурсов. И необходимости 14 раз в год изменять набор смайлов.
Re: Обсуждения текущей реализации загрузки смайлов
Последний мой вопрос касающийся системы реализации смайлов, после которого я больше не возвращаюсь к этой теме. Можно ли попросить Вас, реализовать следующие две функции, либо же одну из них:
На сервере изменился набор смайлов, пользователь запустивший чат подключается к этому серверу.
1. Загрузка существующего набора смайлов из кэша (Функция - №1)
2. Проверка клиентом на наличие нового набора смайлов.
3. Вход в чат и отображение каналов.
4. Скачивание нового набора по требованию пользователя.
5. Автоматическое обновление всех открытых каналов (Функция - №2)
Другими словами я преследую цель минимизировать появление "пустых" кодов смайлов, без отображения самих изображений смайлов. Чтобы набор со смайлами загружался клиентом в не зависимости от того появился ли новые смайлы на сервере, а уже после их загрузки все каналы обновлялись бы под новый набор - именно "обновлялись", а не "очищались" или ещё что-нибудь в этом духе.
P.S Оговорюсь сразу же и скажу, что "оговорки" следующего рода: "коды смайлов могут не совпадать или отображаться затем не правильно" - считаю не состоятельными, маловероятными или же малозначащими, а так же не способными причинить ущерб общению пользователей.
На сервере изменился набор смайлов, пользователь запустивший чат подключается к этому серверу.
1. Загрузка существующего набора смайлов из кэша (Функция - №1)
2. Проверка клиентом на наличие нового набора смайлов.
3. Вход в чат и отображение каналов.
4. Скачивание нового набора по требованию пользователя.
5. Автоматическое обновление всех открытых каналов (Функция - №2)
Другими словами я преследую цель минимизировать появление "пустых" кодов смайлов, без отображения самих изображений смайлов. Чтобы набор со смайлами загружался клиентом в не зависимости от того появился ли новые смайлы на сервере, а уже после их загрузки все каналы обновлялись бы под новый набор - именно "обновлялись", а не "очищались" или ещё что-нибудь в этом духе.
P.S Оговорюсь сразу же и скажу, что "оговорки" следующего рода: "коды смайлов могут не совпадать или отображаться затем не правильно" - считаю не состоятельными, маловероятными или же малозначащими, а так же не способными причинить ущерб общению пользователей.
-
- Администратор
- Сообщения: 6890
- Зарегистрирован: 09:56, 27.06.2005
Re: Обсуждения текущей реализации загрузки смайлов
На данный момент система смайлов такова что у всех пользователей со 100% вероятностью показываются одинаковые смайлы.
Если загружать клиентам из кэша другие (неактуальные) наборы смайлов - это правило будет нарушено. Полагаем, вреда здесь больше чем пользы. Ведь, помимо некорректного отображения, пользователи будут еще и публиковать в своих сообщениях смайлы с некорректными кодами.
Если загружать клиентам из кэша другие (неактуальные) наборы смайлов - это правило будет нарушено. Полагаем, вреда здесь больше чем пользы. Ведь, помимо некорректного отображения, пользователи будут еще и публиковать в своих сообщениях смайлы с некорректными кодами.
Re: Обсуждения текущей реализации загрузки смайлов
Если я правильно то о чем хотел сказать JKL, то другими словами он предлагает чтобы клиент-чата до входа в каналы предлагал клиенту обновить набор смайлов если он изменился на сервере. То есть не по нажатию на смайлы как сейчас, а в момент подключения к серверу. В принципе это не плохая идея. И решило бы часть вопросов. И кстати можно было бы предлагать вопрос, загрузить новые смайлы или зайти без загрузки. То заходя на какой то сервер временно клиент бы не тратил ресурсы если оно ему не надо и работал бы как и сейчас при отсутствии набора смайлов. А при желании скачать новый набор сразу входил в чат и видел бы оформление каналов с текущим смайл паком.
-
- Администратор
- Сообщения: 6890
- Зарегистрирован: 09:56, 27.06.2005
Re: Обсуждения текущей реализации загрузки смайлов
Да, предложением номер 2 было применение набора смайлов к содержимому каналов после загрузки. Теоретически, перерисовать содержимое каналов можно. Но эта операция будет длиться до нескольких десятков секунд (в случае приличного заполнения содержимого каналов). Полагаю, пользователи предпочтут не видеть опубликованные смайлы, чем такую процедуру. Тем более загрузка набора происходит в фоновом режиме и перерисовка может застать в расплох...