| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 1 |
|
Junior Member
Регистрация: 26.03.2003
Сообщения: 104
![]() |
Собственно сталкивался ли кто с этим? Не подскажете по реализации, а то писать все самому как-то кучеряво.
Итак, что есть: программа, с которой по сети одновременно работает 200-500 клиентов, работает активно, то есть информация меняется постойнно. Раз в 30 минут - сохранение данных (рабочих) - происходит "заморозка" всего, все объекты сереализируются и пишутся в файл, работаем дальше. Так вот, оная "заморозка" всех очень напрягает, так как занимает достаточно большое время (относительно ессно - на 2ГБ ОЗУ + 2x3Ггц Пень4, 2xHDD SATA 8Mb buf - около 60 сек, размер получаещегося файла ~1Гб(пока)), которое всех ну оччень напрягает, собственно поэтому так редко и происходит, хотелось-бы раз в 10 минут делать, или хотя-бы в 20, но тогда совсем съедят. Посему хочется сделать следущее: всю систему сохранения информации построить по транзакционному принципу (знакомо по базам данных). То есть инициализируется начало сохранения, все как-бы заморозилось (читаем инфу по транзакциям в MySQL), идет дамп на диск, при этом, паралельно, продолжается работа, и где-то в отдельном месте накапливаются изменения от "момента начала сохранения", потом запись заканчивается, измененияприменяются, работает дальше, пауза прозрачна... Воот такое, что написал я сверху - хочу. Как уже говорилось писать все самому - имхо долго, и тяжело, так может есть у кого некие наработки, или, быть может, советы по данному поводу. З.Ы.: для заинтересовавшихся: http://www.innodb.com/ - база юзаемая в MySQL и поддерживающая транзакции, OpenSource.
__________________
Секс - хорошая штука. Как ни крути... |
|
|
|
|
# 6 |
|
::VIP::
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
asdus
А в твоей программе какая-то стандартная БД типа той же MySQL используется?
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti |
|
|
|
|
# 10 |
|
Junior Member
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120
![]() |
построй алгоритм "Исключения": одни данные критичны к изменениям (в зависисости от времени), другие - нет... от этого и играй. Создай "список" пользователей с их признаками (ИД), дальше, все изменеия "шифруй" по их ИД и времени изменеия и в зависимости от алгоритма...
УДАЧИ!!!
__________________
"я не волшебник - я только учусь..." (c) ...а зовут меня Олег... |
|
|