On-line: MIKHAIL, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
alkresin
moderator


Пост N: 31
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.01.08 11:36. Заголовок: Leto DB Server (продолжение)


Только что открыл на Sourceforge новый проект - Leto DB Server - https://sourceforge.net/projects/letodb

Это мультиплатформенный ( Windows, Unix/Linux ) сервер баз данных, предоставляющий клиентским программам доступ к dbf/cdx файлам, находящимся на удаленном сервере ( можно и на локальном компьютере запускать - в отладочных целях ). В общем, как ADS :).

Проект - на стадии разработки, не все даже базовые функции еще реализованы, до оптимизации дело еще не дошло. Но работает :).
Крутится у меня на сервере несколько дней, подключал до 15 клиентов, пока не падает. Мои программы работают с ним нормально.

Преимущества по сравнению с обычным файл-сервером:
1) Безопасность - базы могут быть в каталоге, недоступном для клиентских компьютеров - никто их случайно не удалит и не повредит.
2) Поскольку базы открываются серверной программой, а не клиентской, ее целостности ничего не грозит при случайном отключении клиентского компьютера.
3) значительное уменьшение сетевого траффика.
4) Должен быть, по идее, выигрыш в скорости.
5) Возможность контроля за пользователями с помощью утилиты manage ( можно придумать и другие формы контроля ).
6) Можно будет сделать транзакции, stored procedures на Харборе, ... и вообще все в наших руках :).

Кто хочет участвовать в разработке, тестировании - пишите.



Спасибо: 0 
Профиль
Ответов - 316 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]


alx_on
постоянный участник


Пост N: 86
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 09.07.10 13:47. Заголовок: Выложил свои правки...


Выложил свои правки...

Вопрос по падению старой версии остается в силе (кто-то здесь упоминал меня после некоторых исправлений в коде :) )
Так вот: падения остались в самых неожиланных местах. Может 3 дня проработать, может сразу упасть.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 380
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.10 13:47. Заголовок: Подзабыл C. Какой пр..

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 381
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.10 13:55. Заголовок: В связи с этим возни..



 цитата:
В связи с этим возникает соблазн сделать аналог файлового доступа через leto: fopen - fread - fclose. Мне было бы достаточно доступа только на чтение, но неизбежно возникнет соблазн сделать и аналог fwrite. В связи с этим вопрос: а стоит ли ? Сделать то это легко, но надо ли ?


Я считаю, что стоит сделать - естественно, с обеспечением безопасности. Только, может, аналоги не fopen и Co, а memoread/memowrite, это проще и, наверное, достаточно.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 382
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.10 13:59. Заголовок: #define HB_SENDRECV_..



 цитата:
#define HB_SENDRECV_BUFFER_SIZE 16384
т.е. сейчас пакет не может быть больше 16К ?


Это размер пакетов, на которые socket - функции разбивают исходный пакет.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 1411
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 14:01. Заголовок: Pasha пишет: В связ..


Pasha пишет:

 цитата:
В связи с этим возникает соблазн сделать аналог файлового доступа через leto: fopen - fread - fclose. Мне было бы достаточно доступа только на чтение, но неизбежно возникнет соблазн сделать и аналог fwrite. В связи с этим вопрос: а стоит ли ? Сделать то это легко, но надо ли ?



Нужно ОБЯЗАТЕЛЬНО ! Я еще в начале просил это делать !
Пример из практики, принесли базу из отдела соц.защиты, кто получает деньги... (порядка 30 000 записей, бывает больше).
Нужно в программу Субсидии (базы на сервере) удалить старые записи и добавить эти новые !
Задача в лоб - программа перебрасывает записи с клиента на сервер 4 часа !!! Это не моя программа, на Delphi7 написана, работает через SocketServer Дельфовый...

Такие задачи встречаются постоянно !!!
Если на сервер можно записать ZIP-файл, там его распаковать и добавить через APPEND FROM - прошло бы меньше времени !
На вскидку минут 10 - 15.

НАДО !!!

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 1412
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 14:10. Заголовок: alkresin пишет: Тол..


alkresin пишет:

 цитата:
Только, может, аналоги не fopen и Co, а memoread/memowrite, это проще и, наверное, достаточно.



Нет не пойдет ! Давайте полностью !!!
Файлы форм *.FR3 тоже хочу хранить на сервере !
Обновление EXE файла на клиентских местах ХОЧУ тоже делать через LetoDB !!!

-----------------------------------------------------------------------------------------------------------------------
Лучше 3 дня учиться и за 5 минут долететь !!! (Фраза из мультика "Ноги и крылья" )


Спасибо: 0 
Профиль
AlexMyr



Пост N: 15
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 09.07.10 14:29. Заголовок: alkresin пишет: Тол..


alkresin пишет:

 цитата:
Только что открыл на Sourceforge новый проект - Leto DB Server - https://sourceforge.net/projects/letodb

Это мультиплатформенный ( Windows, Unix/Linux ) сервер баз данных, предоставляющий клиентским программам доступ к dbf/cdx файлам, находящимся на удаленном сервере



Вроде начиналось все с сервера баз данных, а сейчас уже смотрим в сторону файл-сервера, потом захотим принт-сервер

Andrey пишет:

 цитата:
Такие задачи встречаются постоянно !!!
Если на сервер можно записать ZIP-файл, там его распаковать и добавить через APPEND FROM - прошло бы меньше времени !
На вскидку минут 10 - 15.


А хто будет распаковывать на сервере? letodb?
Letodb как раз для таких задач как добавить, отредактировать, удалить запись и тд. И будет наверное быстрей добавить записи нежели тащить на сервер тяжелый zip, распаковать и добавить записи. А потом чтобы не засорять сервер еще надо будет удалить этот zip.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 384
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.07.10 14:35. Заголовок: Файлы форм *.FR3 тож..



 цитата:
Файлы форм *.FR3 тоже хочу хранить на сервере !


А зачем для этого полный набор файловых функций ? Разве недостаточно с сервера забрать эту форму целиком с помощью предполагаемой leto_memoread() ?

 цитата:
Обновление EXE файла на клиентских местах ХОЧУ тоже делать через LetoDB !!!


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

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 1415
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 17:51. Заголовок: alkresin пишет: В э..


alkresin пишет:

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


А поподробнее ?
Хочу пример ....
Заранее спасибо !!!

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 1416
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.07.10 17:52. Заголовок: AlexMyr пишет: А хт..


AlexMyr пишет:

 цитата:
А хто будет распаковывать на сервере? letodb?


А свои процедуры на что ?
Сделаю свою процедуру и прикручу к серверу !

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1575
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.07.10 18:36. Заголовок: alx_on пишет: Вылож..


alx_on пишет:

 цитата:
Выложил свои правки...



Александр, а зачем вы поменяли формат в leto_Sum ?

sprintf(ptr, "%lu", pSums[ usIndex ].value.lSum);

Ведь это не ULONG, а LONG, знак потеряется


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1576
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.07.10 19:04. Заголовок: Правильнее будет %ld..


Правильнее будет %ld

А в строке 3007 изменение существенно ? Это была ошибка ?

USHORT i = 0;

на

USHORT i = 1;


Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 87
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 09.07.10 23:16. Заголовок: Pasha пишет: sprint..


Pasha пишет:

 цитата:
sprintf(ptr, "%lu", pSums[ usIndex ].value.lSum);
Ведь это не ULONG, а LONG, знак потеряется


не ту версию выложил :(
правил предупреждения при компиляции (был совсем странный вариант %d)

 цитата:
А в строке 3007 изменение существенно ? Это была ошибка ?


ошибка не критическая (возвращала больше на одну запись)

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1578
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.07.10 09:07. Заголовок: alx_on пишет: ошибк..


alx_on пишет:

 цитата:
ошибка не критическая (возвращала больше на одну запись)



Т.е, память выделялась на 10 записей, а возвращалось 11. Правда, запись как правило занимает меньший размер при передаче, так что обычно памяти хватало. Но все-таки, в каких-то случаях могло и не хватить, хорошо что заметили

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 88
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 12.07.10 09:10. Заголовок: К вопросу о фильтрах..


К вопросу о фильтрах совместно с SCOPE
Глючит :(
Самое интересное - в новом варианте (MT) все работает (по крайней мере, в найденном случае)
Смотрю...

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1579
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.07.10 09:14. Заголовок: А что глючит ? Я не ..


А что глючит ? Я не замечал. Хотя у меня сервер собран через xHarbour

Спасибо: 0 
Профиль
Ответов - 316 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 222
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет