![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.02.2011
Сообщений: 48
|
![]()
Здравствуйте.
Есть программа-клиент, которая собирает некую информацию (txt файл размером ~20 кб). Таких программ установлено на более чем 200 компьютерах. Сейчас схема следующая: 1.Клиент собирает информацию в txt-файл и отправляет его по FTP 2.Сервер собирает все файлы, обрабатывает и записывает в БД 3.Сервер формирует отчет о собранной информации. Передача данных с использованием txt-файлов и FTP сильно тормозит работу сервера. Возможно ли как-нибудь ускорить эту схему исключив txt и ftp и использовать, например, tcp? Может есть что-нибудь проверенное? P.s. файлы отправляются один раз в день. Последний раз редактировалось Crunkordie; 20.10.2014 в 11:46. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
idhttpserver
делай на нем свой сервер, тамже сразу парсь свой файл и добавляв в бд отправлять idhttp +IdMultipartFormData
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 20.10.2014 в 12:16. |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
![]()
Возможно ли сделать на сайте свой подсервер(Программу, работающию на сервере)? Да. Если хостинг это поддерживает, конечно, то PHP в помощь.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. ![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
ftp итак использует tcp
![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 03.04.2013
Сообщений: 703
|
![]()
99% ошибок компьютера сидит в полуметре от монитора.
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Crunkordie, абсурдность зашкаливает. Если серверное ПО заносит данные в БД, и только это. То почему бы не поставить веб-сервер с php скриптом, которому по HTTP будут передавать данные клиентские копии ПО?
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 18.02.2011
Сообщений: 48
|
![]() Цитата:
Спасибо за совет, буду пробовать. А что лучше, что бы клиент отправлял готовый sql-запрос или просто набор данных, а сервер дальше сам формировал его? Есть ли смысл поднимать веб-сервер, если его можно заменить idhttpserver 'ом ? Последний раз редактировалось Crunkordie; 20.10.2014 в 23:38. |
|
![]() |
![]() |
![]() |
#8 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
Цитата:
В случае с idhttpserver'ом, все сами без php. |
||
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 18.02.2011
Сообщений: 48
|
![]()
Извините, если что-то путаю.
Я хочу полностью отказаться от txt файла в пользу множества маленьких запросов. Т.е. в текстовом файле находится множество строк и каждая из них это будущий sql-запрос. В связи с этим целесообразнее использование idhttp или idtcp? Ни с одним из них ранее не работал, но проблем разобраться с ними думаю не возникнет. Вопрос про многопоточность. Если представить что 200 компьютеров одновременно начнут отправлять данные, как на это реагирует сервер? |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
idTCPServer возможно тоже прозрачно многопоточным будет. HTTPServer точно прозрачно многопоточный, и проблем с подключением кучки клиентов не будет. Хотя и просто TServerSocket в этом плане тоже многопоточный. Я бы все же реализовал так: Открыл 5 серверов для прима данных, написал бы 1 инфо-хаб(считай 6 сервер, но раздаёт инфу) Сервера передают на инфо-сервер текущую загруженность своих линий. Клиенты между запросами обращаются к инфо-серверу чтобы точно на менее загруженный отдать очередной запрос. Или ещё проще: все данные на хаб, а тот тупо сам редиректит данные на менее загруженный сервер. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Клиент-серверная игра Змейка | Anny_Apple | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 13.03.2014 01:24 |
Клиент-серверная БД в Delphi | jediAlex | БД в Delphi | 1 | 15.10.2009 00:16 |