Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Сетевая обработка данных   Найти похожие ветки 

 
bob   (2009-12-10 19:10) [0]

Есть задача например провести перепись населения в городе со 100 000 населением поименно и кто занесен в базу в первый раз  получает 100 рублей. есть несколько групп людей которые с ноутбуками уходят к населению и начинают перепись. потом собираються в одной локальной сети и обмениваються собранной инфой. Задача состоит в том чтобы быстро синхронизировать инфу между этими ноутбуками и сервером. я хотел сделать так(посредством сокетов): на серверочке регистрируються ноутбуки и когда один передает на сервер список людей остальные зарегистрированные в этот момент тоже получают этот список.
хотелось бы узнать Ваше мнение как лучше это сделать чисто схематически без деталей реализации (если будет не понятно лучше разберусь или спрошу) и не обязательно посредством сокетов.


 
Медвежонок Пятачок ©   (2009-12-10 19:21) [1]

без деталей не получится, ибо это статья.
про персонифицированные данные и их защиту


 
Медвежонок Пятачок ©   (2009-12-10 19:24) [2]

остальные зарегистрированные в этот момент тоже получают

а не зарегистрированные в этот момент не получают данные которые в этот момент передаются?


 
Медвежонок Пятачок ©   (2009-12-10 19:27) [3]

потом собираються в одной локальной сети и обмениваються собранной инфой.

зачем?
они должны всего лишь слить каждый свою порцию на центральный большой и толстый сервер. зачем синхронизировать ноуты?


 
Сергей М. ©   (2009-12-10 21:17) [4]


> зачем синхронизировать ноуты?
>


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


 
bob   (2009-12-10 21:31) [5]

условия чисто условны и служат толко для объяснения объема данных и постановки проблемы взаимоотношений, а теперь по сути не зарегестрированные ноуты не обновляються они обновляються при последующей регистрации. вообщем выкристализовываеться проблема быстрой синхронизации ноутов чтобы подключенные на данный момент ноуты были как можно быстрее синхронизированные между собой и с сервером. база построена на MS SQL и данная проблема не может быть решена с его посощью по разным причинам. да и еще, в записи надо использовать только уникальный номер человека и дату последнего обновления


 
Медвежонок Пятачок ©   (2009-12-10 21:34) [6]

они обновляються при последующей регистрации.

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

и еще повторяю вопрос: зачем синхронизировать ноуты между собой?

да и еще, в записи надо использовать только уникальный номер человека

у человека нет уникального номера.


 
Медвежонок Пятачок ©   (2009-12-10 21:35) [7]

условия чисто условны

обсуждать чисто условные условия - тратить время зря


 
Сергей М. ©   (2009-12-10 21:35) [8]


> в городе со 100 000 населением поименно и кто занесен в
> базу в первый раз  получает 100 рублей. есть несколько групп
> людей которые с ноутбуками


Интересно, что за арабский шейх раскошелился на такую грандиозную по бюджетно-расходному размаху акцию ?)

С ноутбуками, да по райцентру урюпинского масштаба, да по сто рублей, да программу "с нуля"  заказать ..


 
Медвежонок Пятачок ©   (2009-12-10 21:37) [9]

база построена на MS SQL и данная проблема не может быть решена с его посощью по разным причинам

в природе нет таких причин, которые бы мешали решению задачи средствами мсскл.


 
Сергей М. ©   (2009-12-10 21:39) [10]


> уникальный номер человека


Жутковатая картина вырисовывается, времен концлагерей


 
Медвежонок Пятачок ©   (2009-12-10 21:51) [11]

Кстати, шедевральная фраза.

без деталей реализации ... и не обязательно посредством сокетов.

Сразу чувствуется матерый Архитектор от автоматизации


 
Медвежонок Пятачок ©   (2009-12-10 22:00) [12]

вот добрый и полезный совет:
оставь сокеты и делфи в покое.
потрать свое драгоценное время на изучение вопроса как средствами самого сервера несколько акцессовских баз перекинуть в mssql as is и после этого соединить полученные данные воедино с помощью серверных процедур.

пользы от совета две как минимум :

1. Не надо будет тратить бюджет на оплату очередной неработающей программы-однодневки

2. Ты знания приобретешь. реально полезные тебе.


 
Сергей М. ©   (2009-12-10 22:01) [13]


> кто занесен ...получает 100 рублей


Это крайне важная деталь в ТЗ.
Чичиков идет лесом.


 
Медвежонок Пятачок ©   (2009-12-10 22:03) [14]

Да и акцесс на ноуте пожалуй будет лишним.
Достаточно будет книги ёкселя.


 
Anatoly Podgoretsky ©   (2009-12-10 22:52) [15]

> Сергей М.  (10.12.2009 21:39:10)  [10]

Похоже кто то собирает базу, для подписных листов и подобного.


 
bob   (2009-12-11 06:41) [16]

я не пойму 15 постов и практически ни одного по теме. Хорошо для алчных напишем что не по 100 руб выдают а по цветному фантику и не за просто так а за приседания. ноуты надо между собой синхронизировать чтобы знать сколько фантиков получил каждый человек при повторном посещении.  И еще большая просьба не оценивать личности поскольку вы можете сильно ошибаться. Выбор базы и дельфи не надо обсуждать потому как это дано как факт. просто помогите советом как лучше синхронизировать ноуты с большим количеством записей между собой и сервером, быстро и грубо говоря параллельно (разумеется подключенных в данный момент). к стати эта задача не политика, это медицина. просто какой смысл рассказывать длинные истории так было проще объяснить да и в общем я так понял задача ясна


 
Сергей М. ©   (2009-12-11 09:14) [17]


> какой смысл рассказывать длинные истории так было проще
> объяснить


Вот и я думаю - какой смысл было рассказывать про 100 рублей и фантики с приседаниями. Никого кого кроме тебя или "заказчика" это не волнует.

По сабжу - про толстый сервер тебе уже сказали. Он должен быть во избежание бардака, характерного для многих децентрализованных систем распределенного хранения и обработки данных.

От него надо плясать


> быстро синхронизировать инфу между ..ноутбуками и сервером


Для этого Борланд предлагает готовую технологию MIDAS.


 
Медвежонок Пятачок ©   (2009-12-11 09:21) [18]

ноуты надо между собой синхронизировать чтобы знать сколько фантиков получил каждый человек при повторном посещении.

ноуты не надо между собой синхронизировать чтобы знать сколько фантиков получил каждый человек при повторном посещении.

надо синхронизировать ноут с центральным сервером.


 
Медвежонок Пятачок ©   (2009-12-11 09:42) [19]

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

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

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

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

не надо требовать от него присутствия на акте коллективного камлания.


 
bob   (2009-12-11 11:36) [20]


> Медвежонок Пятачок ©   (11.12.09 09:42) [19]
> один конкретный переписчик может закончить свою работу раньше
> всех остальных. затем он может приехать в центр, слить данные
> и уехать к теще на два часа переставить холодильник.
> в это время в центре могут появиться данные остальных переписчиков
> а сами они уже могут отсутствовать в центре.
>
> и тот первый, который передвигал холодильник теще, должен
> иметь возможность получить консолидированные данные с сервера,
>  ибо они там уже есть.
>
> не надо требовать от него присутствия на акте коллективного
> камлания.

Совершенно с Вами согласен именно это и имелось в виду (прошу прощения за корявость мною написанного мне казалось я понятно написал). синхронизация отдного ноута уже написана и нормально работает, но вот в чем затыка: пришел первый ноут и провел синхронизацию и остался подключенный на ночь, затем пришел второй и теперь он засинхронизировался с сервером а потом как сказать первому что есть новые данные(это гемморно но решается) и потом второй раз первому ноуту синхронизироваться с сервером, потом пришел третий и т.д. а если сразу знать кто подключен то можно парралельно было бы писать и на сервер и на первый ноут и т.д. вот в чем собственно и вопрос. сокеты чем хороши (на мой взгляд) легкое оповещение кто жив кто нет и не напряжное обеспечение передачи данных. хотя про мидас обязательно почитаю.


 
Сергей М. ©   (2009-12-11 12:23) [21]

> как сказать первому что есть новые данные

Не надо ему ничего говорить.

Ничего страшного не случится, если он пропустит самые свежие новости с сервера.

Придет в след.раз, подключится к серверу, узнает все изменения на сервере, произошедшие с момента предыдущего сеанса связи, и соотв-но передаст все свои изменения за тот же межсеансовый период.


 
Медвежонок Пятачок ©   (2009-12-11 12:25) [22]

а потом как сказать первому что есть новые данные

ему не надо говорить что есть новые данные.

у ноута должна быть кнопка "дай мне все новые данные, что у тебя есть на сейчас"


 
bob   (2009-12-11 12:26) [23]


> Ничего страшного не случится, если он пропустит самые свежие
> новости с сервера.

в том то и дело что к утру данные должны быть синхронизированны на всех ноутах и сервере. а лишнее обновление это процесс не быстрый к сожалению


 
Сергей М. ©   (2009-12-11 12:32) [24]


> обновление это процесс не быстрый


Какой разработчик - такой и процесс не быстрый.
У грамотного разработчика "процесс" пройдет быстро и безболезненно для всех заинтересованных фигурантов.


 
Сергей М. ©   (2009-12-11 13:06) [25]


> к утру данные должны быть синхронизированны на всех ноутах


Что страшного в том, что по утрянке на ноутбуке 1 по какой-либо уважительной причине не окажется свежих данных о БабеКлаве, к которой вчера ходил ноутбук 2, получил о ней эти данные и передал их вечером того же дня на сервер ?

Придет ноутбук 1 по утру след.дня к той же БабеКлаве, получит данные  (возможно уже обновленные, например, БабаКлава вполне могла до утра не дотянуть) и текущим вечером передаст их серверу.

Текущим вечером сервер получит от ноутбука 1 данные, увидит что по более ранним (текущим, т.е. полученным прошлым вечером от ноутбука 2) данным БабаКлава была жива-здорова, а по только что поступившим от ноутбука 1 данным она преставилась. С этого момента сервер и ноутбук 1 считают БабуКлаву благополучно отошедшей в мир иной.
Ноутбук 1 спокойно и с чувством выполненного долга идет домой отдавать другие долги.

Этим же вечером, но часом позже к серверу является ноутбук 2 и заявляет, что БабаКлава жива и даже порозовела от счастья что ее уже дважды навестили участливые ноутбуки. Сервер при попытке воскресить бабулю видит очевидную лажу-нестыковку и протоколом сообщает об этом ноутбуку 2. Если у того есть полномочия для воскрешения, сервер правит у себя соотв.запись и отныне БабаКлава для всех воскресла, в противном случае БабаКлава объявляется почившей и в локальной базе ноутбука 2.


 
Anatoly Podgoretsky ©   (2009-12-11 13:35) [26]

> bob  (11.12.2009 11:36:20)  [20]

Не надо, надо прежде чем уносить сделать синхронизацию на текущий момент времени.


 
Anatoly Podgoretsky ©   (2009-12-11 13:36) [27]

> bob  (11.12.2009 12:26:23)  [23]

Значит пусть приходят ночью и синхронизируют и утром еще раз.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.074 c
2-1333194262
toropoff
2012-03-31 15:44
2013.03.22
= Record


15-1328614093
Denissoft
2012-02-07 15:28
2013.03.22
Вопрос Насчет сайта!


15-1347565047
Artem
2012-09-13 23:37
2013.03.22
Сегодня выбрал тему дипломный работы.


2-1324740591
minotavr
2011-12-24 19:29
2013.03.22
BitBtn и ImageList


15-1351606208
Дмитрий С
2012-10-30 18:10
2013.03.22
Как в var параметр передать nil?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский