Название: Локальная программа + удаленный сервер - Современный подход Отправлено: crocus от Февраль 15, 2007, 02:26 Собственно вопрос о современных методах обмена данными между удаленным сервером и локальной программой, например - я использую в своей программе базу данных MySQL, информация перемещается туда-обратно, поскольку сервер виртуальный и прямого доступа к базе нет (туннели использовать неохота. потому что никогда не использовал) -выгружаю данные в файл - сжимаю -закачиваю на сервер - распаковываю - читаю файл (LOAD DATA INFILE не поддерживается)- обновляю базу сервера, ну и наоборот. Этой схеме не один год, но может кто придумал что-то более прогрессивное, а то слишком много кода в том числе и на PHP.
В общем предлагаю пофлудить! :wink: Название: Локальная программа + удаленный сервер - Современный подход Отправлено: Tonal от Февраль 15, 2007, 09:13 HTTP не пробывал? ;-)
Название: Локальная программа + удаленный сервер - Современный подход Отправлено: crocus от Февраль 15, 2007, 10:20 Цитата: "Tonal" HTTP не пробывал? ;-) Шутка удалась!! Понятно что на стороне сервера необходимые операции выполняются средствами PHP, а на стороне локальной - в программе, прозрачно для пользователя средствами Qt используя HTTP - GET, POST, Request и FTP. Название: Локальная программа + удаленный сервер - Современный подход Отправлено: Tonal от Февраль 15, 2007, 10:51 Ну и что мешает использовать HTTP - GET, POST для передачи этих данных серверу?
Чем сжатый файл по FTP лучше? Название: Локальная программа + удаленный сервер - Современный подход Отправлено: crocus от Февраль 19, 2007, 11:01 Тщеславия ради.
Додумал как лучше обновлять локальную базу MySQl с сервера. Есть такой запрос "SHOW TABLE STATUS"- его результаты (интересует Name и Update_time) записываем в файл->сжимаем-скачиваем-> распаковываем - сравниваем с датой из settings -> и если таблицу надо обновлять снова шлем запрос на сервер -> записываем в файл-> запаковываем -скачиваем ...->обновляем таблицу - записываем новую дату в settings. Если кому интересно, могу более подробно, с примерами, хотя смысл и так понятен. На SQL.ru было упоминание о системе обмена документами EDI - кто-нибудь слышал что это такое и c чем его едят :) http://www.citforum.ru/internet/articles/xmledi.shtml Название: Локальная программа + удаленный сервер - Современный подход Отправлено: Tonal от Февраль 19, 2007, 18:00 Этож сколько у тебя таблиц, что табличку из 2х колонок надобно сжимать?
И если уж данных такая прорва, то чем родное http сжатье (gzip, deflate) не устраивает? Да, сдаётся мне, что описанная схема обмена может глючить при одновременных обращениях... Название: Локальная программа + удаленный сервер - Современный подход Отправлено: crocus от Февраль 20, 2007, 01:23 Все шутишь :)
Цитировать чем родное http сжатье (gzip, deflate) не устраивает? Исторически так сложилось, потому-что литературы было мало, и кроме того описанные методы работают преимущественно со строками, а мне было удобнее и понятнее с файлами. Например, до сих пор не понимаю как в архив (CLXXXII. Функции сжатия Zlib) добавить файл. Вопрос: как отправить запрос на сервер мне понятно, а вот как получить его результаты в программу использую "родное http сжатье" совсем нет - пояснишь?? Цитата: "Tonal" описанная схема обмена может глючить при одновременных обращениях... Я думал об этом, имя архива и файлов таблиц генерируются из : имя файла/таблицы + идентификатор пользователя-получается уникально и глючить не должно, важно не забывать мусор подчищать, а то даже при 100 пользователях хламу будет .... 100х . У тебя случайно нет телефонного справочника Новосибирска, хотел знакомых поискать. Название: Локальная программа + удаленный сервер - Современный подход Отправлено: Tonal от Февраль 21, 2007, 14:52 Вот код на python-е который принимает gzip-нутый ответ сервера:
Код:
Вроде всё прозрачно. А документация в достаточном количестве по ключевым словам mod_gzip, mod_deflate. Название: Локальная программа + удаленный сервер - Современный подход Отправлено: Admin от Февраль 21, 2007, 17:18 способов несколько
1. открыть mysql сокет и работать с базой напрямую 2. прослойка apache+php+mysql на серверу 3. mysql позволяет бинарные логи писать их можно по ftp сувать 4. писать самому протокол общения типа на CORBA Название: Локальная программа + удаленный сервер - Современный подход Отправлено: zabivator от Февраль 21, 2007, 18:01 DBUS?
Название: Локальная программа + удаленный сервер - Современный подход Отправлено: TukiNov от Февраль 21, 2007, 20:42 Цитата: "Admin" способов несколько 1. открыть mysql сокет и работать с базой напрямую 2. прослойка apache+php+mysql на серверу 3. mysql позволяет бинарные логи писать их можно по ftp сувать 4. писать самому протокол общения типа на CORBA можно про второй пункт подробнее ? :) а то у меня тоже оракл на серваке, а прямого ип-адреса нет. Название: Локальная программа + удаленный сервер - Современный подход Отправлено: Admin от Февраль 23, 2007, 20:00 про второе - уже тебе предлагали общение по HTTP протоколу
|