Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Подвижной состав (http://www.trainsim.ru/forum/forumdisplay.php?f=18)
-   -   База данных подвижного состава (http://www.trainsim.ru/forum/showthread.php?t=10676)

BOBANRyde 28.07.2010 16:50

[QUOTE=Zabor;192160]

Опера :) - проверьте ваши записи введя ник в поле "оператор", если что криво подправлю, это первая синхронизация основной и онлайн пользовательской базы, могут быть косяки, это нормально при первых запусках нового кода.[/QUOTE]
Гы, проверить около 1000 своих записей:crazy: Короче верю на слово:)
Игорь, у меня есть такое предложение: вводить в поле "ссылка" не ссылку на сайте, а ссылку на обменник, как думаешь?

Zabor 28.07.2010 17:19

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

После отправки для пользовательской БД это новая запись и ей присваивается системное время (дата) сервера.

При синхронизации дата не обновляется, таким образом, в основной БД дата будет по дате (сори за каламбур) внесения записи в пользовательскую БД, это как раз соответствует действительности, т.е. дате редактирования.

Если что-то поправляю в полях при синхронизации - автоматически присвоится текущая дата, что тоже правильно, раз я что-то менял в записи.

BOBANRyde, я же про последние, которые с онлайна =)).

Про ссылку не понял, если ПС есть на сайте то она на страницу сайта, где можно скачать, если ПС на обменнике, то на страницу обменника, в поле сайт в этом случае "-" тире, без кавычек т.к. нету сайта (оно в [URL="http://zaborin.ru/msts/base_ps/help.htm#site"]справке[/URL] так и написано).

BOBANRyde 28.07.2010 18:05

[QUOTE=Zabor;192180]
Про ссылку не понял, если ПС есть на сайте то она на страницу сайта, где можно скачать, если ПС на обменнике, то на страницу обменника, в поле сайт в этом случае "-" тире, без кавычек т.к. нету сайта (оно в [URL="http://zaborin.ru/msts/base_ps/help.htm#site"]справке[/URL] так и написано).[/QUOTE]

Ага, понял, извиняюсь ступил как всегда:)

Zabor 28.07.2010 22:22

Провел динамические испытания - 23 000 строк старенький сервер переварил спокойно, дальше интерпретатор бросает обработку запроса, но там настройки все закручены по самое не хочу на минимум, можно раза в три открутить еще, похоже все Ок, думаю даже без изменения настроек нам хватит надолго =)).

art-trans 29.07.2010 15:56

Залил на сервер обновлённую БД по серии ЧС7. Игорь, синхронизируй всё пожалуйста.

Такой вопрос - что будет, если например я вручную добавляю в БД какую-то строку (например ID-1399), и кто-то онлайн уже добавляет параллельно мне тоже данные и попадает на этот же ID-1399? Не затрутся ли чужие данные моими или наоборот?

И ещё чего-то хотел спросить... но вылетело из головы - так увлёкся семёрками, что даже забыл вопрос))) Полдня на эту гадость угрохал.

p.s. три "безсайтовских" ЧС7 скоро где-нибудь выйдут.

Zabor 29.07.2010 19:57

ID в онлайн не присваивается, каждая запись это файл с уникальным именем, которое формируется из IP+год+месяц+цисло+час+минута+секунда вероятность совпадения времени добавления записи до секунды с того же самого IP равна нулю, т.к. предусмотрена блокировка IP на 60 сек после проверки данных и запуска добавления.

Нормальному оператору это не помешает (подготовить новую запись после отправки предыдущей за 60 сек не реально) и исключит случайное двойное нажатие кнопки отправки, спамеров же так отлавливать самое оно, для них кнопка с параметром submit как красная тряпка - на этом и палятся =)).

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

Если это новая запись ID присвоится новый или останется прежним если это исправление (замена данных полей), однако как и написано в справке ID "скользящий" т.е. у пользователя в его локальной версии может быть каким угодно, потому на него опираться нельзя.

Иногда очищаю это поле, чтобы при наличии 1600 записей ID не зашкаливал за 2000, это бред =)) (удаленные "светятся"), тогда присвоение ID начнется по принципу "с №0 по порядку расчитайсь!".

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

Сохранность данных на серверах обеспечивает перекрестная и 12 часовая архивация, т.е. учитывая боевой опыт я всегда готов к ответу на контрольный вопрос к службе архивации - а что будет, если вынуть жесткий диск и приложить его кувалдой? :)

Вечером синхрону.

===============================

Синхронизировал, Артем одно замечание - ссылки тоже через запятую с пробелом ", " это сепаратор.

msts.my1.ru на 19:45 не отвечает.

Спасибо, качественно сделанная работа!

Zabor 01.08.2010 05:55

Говорил же не надо спешить с пиаром до отладки =))

Тестил базу в фоновом режиме, просматривая тему "Поиск ПС" и проходя необходимые шаги пользователей - наткнулся на неприятный момент.

Допустим БД "заступила на боевое дежурство" по теме поиска ПС, смотрю с позиции пользователя - кто-то спросил ПС, который у меня есть, заливаю на обменник, захожу в БД, быстро добавляю запись и даю в ней ссылку (тут уже есть некоторый напряг - нужно знать имя папки ПС и имя eng или wag, хотя если он есть в наличии проблем вызвать не должно).

Ссылка на обменник попала в БД и скорее всего будет жить долго благодаря частым скачиваниям или добавлен ПС с сайта, где так просто хрен найдешь, все вроде ОК.

А что в теме то писать?

Формулировка "иди [URL="http://zaborin.ru/msts/base_ps/"]туда и там ищи[/URL], я туда добавил" как-то не очень корректна, гораздо красивее была бы ссылка на запись в БД, по которой может пройти еще 10 человек с разной подготовкой и ничего не искав в БД сразу увидеть нужную запись с актуальной благодаря БД ссылкой (ведь в теме поиска никто старые ссылки актуализировать не будет, в отличии от БД).

[B]Так родилась новая фича - ссылка на запись в БД.[/B]

Долго ломал голову, как привязаться к записи, вышло, что наиболее актуальны имя ПС на английском и имя папки.

"Имя русский" использовать не стал т.к. во первых это необязательное поле, во вторых кириллицу придется кодировать и раскодировать, это 3 символа в ссылке на один знак, с учетом того, что могут написать в этом поле - гугл с его длинными кодированными ссылками может закуривать в сторонке =)).

Временное условие - ссылка выводится для записей, у которых заполнено хотя бы одно из полей "Имя английский" или "Папка", со временем записей с пустыми значениями уже не останется (это были первые записи, когда БД только зарождалась).

Плюсы:

+ можно немедленно сослаться на свою запись в БД, даже не дожидаясь обработки (выложил - сослался).
+ если ссылка перестанет быть актуальной (файл удалили, сайт закрылся, Земля налетела на небесную ось) её с большой вероятностью актуализируют перезалив файл и отредактировав запись в БД.

[B]Для тех, кто не осилил весь текст:[/B]

Теперь на записи в БД можно ссылаться, воспользовавшись ссылкой "Ссылка на эту запись в базе данных", к новым "горячим" данным (добавленным онлайн, до обработки) это тоже относится.

После обработки, если два ключевых поля "Имя английский" и "Папка" заполнены корректно ссылка на запись не изменится.

[QUOTE]Для администраторов сайтов, которые хранят данные на обменниках - добавляйте ссылки [B]на Ваши страницы[/B] в БД (а с них в свою очередь на обменники), это продлит срок жизни ссылок и уменьшит Вам работу по перезагрузке файлов.

Если Вы измените ссылку на файл на странице сайта (например, изменив хостинг файлов), ссылка в БД на Вашу страницу останется актуальной.[/QUOTE]

add

Примеры ссылок на записи в БД:

ЭР1-197 [url]http://zaborin.ru/msts/base_ps/?e=tsrEmu_ER1-197&f=tsrEMU_ER1-197[/url]

2ТЭ10Л-1856 [url]http://zaborin.ru/msts/base_ps/?e=tsrLoco_2TE10L-1856&f=tsrLoco_2TE10L-1856[/url]

evrFr_Tanker-51658730_META-EKS [url]http://zaborin.ru/msts/base_ps/?e=evrFr_Tanker-51658730_META-EKS&f=[/url]


pps может сменить вырвиглазный красный в подсветке результата на желтый?

E69 01.08.2010 09:45

ИМХО лучший вариант :)
Со ссылками тоже красивая идея.

Zabor 06.08.2010 04:12

Желтый попробовал, сливается, выделения не видно =((

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

Теперь все проще - ссылка выдается сразу при добавлении записи, причем в двух местах, чтобы не искать и копировать как удобнее - из строки или из поля.

[IMG]http://s54.radikal.ru/i145/1008/c9/7fb3d7c22bee.png[/IMG]

Вроде как БД готова заступить на "боевое дежурство".

Zabor 07.08.2010 20:37

Камрады, сайт Свободкина подскажите… зашел [URL="http://www.msts-dsvobodkin.ucoz.ru/"]сюда[/URL], там нет ничего :confused:

Сан Саныч 07.08.2010 20:39

[url]http://vl80s-msts.ucoz.ru[/url]

Zabor 07.08.2010 20:46

Спасибо, в БД оказалось 511 записей по этому сайту, правда "голые" пока еще, добавил сайт во все списки, Дима тебе работы выше крыши =)), в основном через редактирование, [B]BOBANRyde[/B] наверное 99% заготовок сделал.

Свободкин Дмитрий 07.08.2010 21:51

Я могу постепенно пренести информацию через он-лайн по ВЛ80с начиная с 001 и заканчивая крайним реальным что есть сейчас в мстс 2745... и после уже ежедневно добалять новые ( т.е параллейно с обновлением сайта) но хоть как этот процесс не быстрый, да и надо проверить что уже добавлено в список а чего ещё нет чтоб не сделать повторах

Сан Саныч 07.08.2010 22:38

[QUOTE=Свободкин Дмитрий;193950]и заканчивая крайним реальным[/QUOTE] А почему «фантазийные» машины не думаешь вносить? Ведь, например, несуществующие в реале электровозы с сайта [url]http://trains.ucoz.ru[/url] присутствуют в базе.

Zabor 07.08.2010 22:56

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

Повторится нестрашно, при синхронизации отклонится лишняя запись, но это лишняя работа, зачем повторно вводить то, что уже ввел [B]BOBANRyde[/B] (часть полей).

===========

Надоело на главной писать "хх.хх.хх - обновлена локальная версия БД бла бла", накидал всего пару строк кода за 20 минут - теперь сама определяет когда она обновилась, интересно чем я раньше думал :rofl:

add

А какая разница реальный/не реальный - если такая модель существует и имеет необходимые атрибуты (имя папки, имя файла и т.п.) она наоборот должна быть в базе, это же не Download, база это только информация.


Текущее время: 10:54. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim