imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 16.08.2005, 17:47     # 1
PhoeniXX
Junior Member
 
Регистрация: 24.06.2003
Адрес: Ukraine,kherson
Сообщения: 65

PhoeniXX Путь к славе только начался
Прога для пропорц.раскидывания игр.Используя особеность свича

Всем Здорова
Программа основываеться на том что свич, в отличии от хаба каждый пакет посылает не на все порты, а на нужный.

Приведу пример на клубе из 15 компов и админского(admin),игры на 2 гб, которая при средней скорости в 8 Мб\с кидаеться ~4 минуты.

Если раскидывать обычным способом, тобишь последовательно, весь процес займет соответсвенно ~60 минут.

Раскидывание моим способом буду расписывать по шагам:
1 шаг игра кидаеться с admin на 1 комп 4 мин
2 шаг игра кидаеться с admin на 2,а с 1 на 3 4 мин
3 шаг игра кидаеться с admin на 4,с1на5,с2на6,с3на7 4 мин
4 шаг игра кидаеться с admin на 8,с1на9,с2на10,с3на11,
с4на12,с5на13,с6на14,с7на15 4 мин
Итог 16 минут, вместо 60. Результат конечно приближенный, но разница заметна сразу. Если количесвто компов больше, скорость раскидывания растет в геометрической прогресии.

Это основной смысл программы, так же в ней будут реализованы такие возможности:
1)сканирование определенной папки и вывод сколько занимает каждая подпапка в этой папке. Соответсвенно это будет паралельно. Нужно для того чтоб знать сколько весит каждая игра на каждом компе. 40 гиговая папка на свободном компе сканилась приблизительно 5-10 мин.
2)просмотр свободного места на каждом компе
3)удаление определенной папки на каждом компе
и т.д. по мере появления новые идей,если будут предлагаейте

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

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

Прога находиться на альфа тестинге. Раскидывание работает, если кому интересна мысль стучитесь в аську: 173679499, или на мыло phoenixx@mail.ru
PhoeniXX вне форума  
Старый 16.08.2005, 17:56     # 2
Madness
KpTeaM
 
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261

Madness СуперБогMadness СуперБогMadness СуперБог
Madness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБог
PhoeniXX
И в чем вопрос по Программированию???
Раздел у нас есть Авторский софт. Перенес. Вернул обратно :)
__________________
Над струнами вен моих
Лезвия осени,
Их сталь леденящая
В просинь рук просится...
©Темнозорь

Последний раз редактировалось Madness; 16.08.2005 в 22:15.
Madness вне форума  
Старый 16.08.2005, 19:37     # 3
PhoeniXX
Junior Member
 
Регистрация: 24.06.2003
Адрес: Ukraine,kherson
Сообщения: 65

PhoeniXX Путь к славе только начался
Вопрос по програмированию состоит в том, что есть проблема,
при работе этой проги на нормальном приоритете она очень грузит проц, а при низком скорость около 600 кб\с.
я использовал indy 9, сначала передавал инфу по файлу, имя,размер, и т.д. а потом сам файл. то есть файл передаеться по сокету частями по 32 кб.
Может нужно чтото изменить, чтоб улучшить быстродействие?
использовать другой буфер, или еще чтото?
PhoeniXX вне форума  
Старый 17.08.2005, 11:18     # 4
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Навскидку:
Не использовать Инди, т.к. этот фреймворк тормознутый... в идеале сокет нужно открывать напрямую и передавать данные по своему протоколу, т.е. минимум необходимых данных...
Но это все баловство можно использовать протокол FTP, собственно для этого он и существует... можно в несколько потоков раздавать...

итог: я так понимаю тут все под винду? что-то типа пиринговой системы ограниченной функциональности... тогда придется изучить винапи, на предмет мониторинга папок в частности, т.к. не логично использовать свои методы для работы с файловой системой операционки, если она имеет нативные методы для этих целей, которые в разы будут быстрее собственной реализации... почитать про протоколы передачи данных... почитать как torrent устроен

Я бы за такую задачу не взялся, много читать придется...

пока вот такие мысли...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 19.08.2005, 15:44     # 5
PhoeniXX
Junior Member
 
Регистрация: 24.06.2003
Адрес: Ukraine,kherson
Сообщения: 65

PhoeniXX Путь к славе только начался
Я нехотел использоть FTP, так как он не обеспечивает нужной скорости на маленьких файлах. Он очень тормозит при передаче нескольких 10 мелких файлов.
Я реализовал это на инди, и достиг скорости до 9-10Мб в сек, я думаю это вполне нормально.
у себя я реализовал сначала передаеться инфа про файл, имя, размер, путь, а потом сам файл, минимум информации.

При использовани обычного TServerSocket, я достиг скорости дето 2-3 Мб

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


Кстати я у меня есть моя же программа для раскидывания записей на компы, для игровых клубов.
Суть в том что есть сервер на него клиент может записать свой сейв, и потом же загрузить его если на другом компе сидишь, у каждого пользователя свой логин и пароль, квота для каждого пользователя.
Если кому интересно изучайте риадми:
http://phoenixx.freestarthost.com/Readme.txt

Сама прога:
http://phoenixx.freestarthost.com/SaveCopy2Beta.rar
PhoeniXX вне форума  
Старый 19.08.2005, 19:29     # 6
pnp2000
Full Member
 
Аватар для pnp2000
 
Регистрация: 12.12.2003
Пол: Male
Сообщения: 1 780

pnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэйpnp2000 Сэнсэй
а зачем такой изврат , неужели нельзя сделать на всех компах сервисы и посылать копирование сразу от админа на всех
pnp2000 вне форума  
Старый 19.08.2005, 20:53     # 7
PhoeniXX
Junior Member
 
Регистрация: 24.06.2003
Адрес: Ukraine,kherson
Сообщения: 65

PhoeniXX Путь к славе только начался
2pnp2000
разница большая,
представь 10 компов
если сразу от админа на все скорость каждому будет по 1,1 Мб\с,
поим способом на все постепенно будет скорость до полных 10 метров в сек

Цитата:
Сообщение от /7y3uK
Навскидку:
итог: я так понимаю тут все под винду? что-то типа пиринговой системы ограниченной функциональности... тогда придется изучить винапи, на предмет мониторинга папок в частности, т.к. не логично использовать свои методы для работы с файловой системой операционки, если она имеет нативные методы для этих целей, которые в разы будут быстрее собственной реализации... почитать про протоколы передачи данных... почитать как torrent устроен

Я бы за такую задачу не взялся, много читать придется...

пока вот такие мысли...
Ага это все под винду, пока использую делфовые функции, которые основаны на апишных. В принципе да, чемто похоже на пиринговые сети.
Хотя насчет мониторинга папок не согласен, мне их не надо мониторить.
когда на какой то комп перишеться папка, он об этом отрапортует админскому, и тот даст ему следующее задание. и так до окончание процесса
PhoeniXX вне форума  
Старый 21.08.2005, 02:49     # 8
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
А какой процент битой информации через инди получается? 10 метров в секунду что-то слабо верится даже на толстом канале...
А по ФТП так медленно, наверное потому что ты в один поток и в один коннект все лил чисто теоретически если канал позволяет можно сразу штук 10 потоков открыть, и 10 кусков почти одновременно отправить...
Еще может тормозить по причине невозхобновляемого коннекта, т.к. на устоновку соединения также тратится время...

ПыСы
это все в теории я давно таким кодингом не занимался... я сейчас на Java программирую...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 21.08.2005, 12:53     # 9
PhoeniXX
Junior Member
 
Регистрация: 24.06.2003
Адрес: Ukraine,kherson
Сообщения: 65

PhoeniXX Путь к славе только начался
Цитата:
Сообщение от /7y3uK
А какой процент битой информации через инди получается? 10 метров в секунду что-то слабо верится даже на толстом канале...
А по ФТП так медленно, наверное потому что ты в один поток и в один коннект все лил чисто теоретически если канал позволяет можно сразу штук 10 потоков открыть, и 10 кусков почти одновременно отправить...
Еще может тормозить по причине невозхобновляемого коннекта, т.к. на устоновку соединения также тратится время...

ПыСы
это все в теории я давно таким кодингом не занимался... я сейчас на Java программирую...
Канал был сетевой, тобишь 100Mbs, расчет и был на локальную сеть, а не на инет.
Тестил на файле размером 1057 Мб, пересылал его на 3 компа, потом заливал себе нормальным путем, и сравнивал побайтно. Они были идентичны. Ну а фтп все равно тормозит на передаче множества мелких файлов. Думаю засчет передачи инфы про файл, и управляющих фтп комманд. Тестил само собой на фтп в один поток. Насчет множества потоков непробовал, как по мне оно сложнее, чем мой вариант. Тем более нет большого смысла передавать в 10 коннектов, тем более что макс. скорость будети всеравно 100 мегабит
PhoeniXX вне форума  
Старый 29.08.2005, 14:51     # 10
aleh
Junior Member
 
Регистрация: 27.12.2002
Адрес: Belarus
Сообщения: 129

aleh Путь к славе только начался
Поздновато конечно...
Посмотри как работает, напрмер, Norton Ghost. На компьютерах запускается клиентская программа и ждёт. Админ стартует upload с сервера и всем посыпался Broadcast (UDP). Switch распихивает пакеты всем, тока в путь.
Минус, что не все могут справится с потоком и потом нужно "докормить" каждого выпавшими пакетами. В итоге скорость получится ~4 минуты +15-20% (нужно пройтись по всем и кнопки потыкать).
aleh вне форума  
Старый 06.09.2005, 18:00     # 11
PhoeniXX
Junior Member
 
Регистрация: 24.06.2003
Адрес: Ukraine,kherson
Сообщения: 65

PhoeniXX Путь к славе только начался
В принципе неплохой вариант,
но не идеален, если нужно отсылать не всем компам сетевого сегмента.
Тем более как узнавать какие пакеты пришли, а какие нет. Каждый нумеровать, и сохранять что в нем было, чтоб клиент мог отправить в конце запрос с недостающими пакетами?
PhoeniXX вне форума  
Старый 06.09.2005, 20:42     # 12
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
ну можно наверное и так есть чуднесные алгоритмы из предмета "Теория информации".. ни кто не мешает их укрупнить до пакетов...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:40.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.