0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизация с Active Directory

Синхронизация с Active Directory

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

Важно:
— Синхронизация возможна только при использовании Microsoft SQL Server (MySQL не поддерживается!).
— Настройки синхронизации, также как и саму синхронизацию, администратор может проводить со своей машины, которая входит или не входит в один из доменов компании.
— Если в компании несколько администраторов, то каждый может работать со своей машины.
— Вход в программу глобальных настроек может быть выполнен под администратором БД или же специально созданным пользователем через меню «Утилиты».
— Необходима учетная запись в домене, которая имеет права на чтение из Active Directory.
— Если в ходе синхронизации необходимо синхронизировать установки клиентских машин, то машина, с которой выполняется синхронизация, должна быть в домене, а также учетная запись в домене должна дополнительно иметь права на копирование файлов, запись в реестр и запуск служб на удаленных машинах домена.
— При удаленном доступе к контроллеру домена необходимо открыть на нем порт LDAP (обычно TCP 636 для защищенного LDAPS, или 389 для незащищенного соединения).

Вкладка «Вход»

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

Вкладка «Домены»

Здесь указывается список доменов компании, с которыми необходимо производить синхронизацию.
Между доменами должно быть установлено доверие (Trust).
Контроллер домена не является обязательным для указания (обязателен только при удаленном доступе).
Сервер комплекса может быть один для всех доменов или разный (в случае использования нескольких серверов).

Вкладка «Объекты»

Здесь указываются группы, OU или одиночные компьютеры/пользователи для трех типов синхронизации:

1) Синхронизация клиентских установок — указываются группы/машины, на которые должен быть установлен клиент комплекса. Таким образом, в ходе синхронизации происходит установка клиентов на те машины, где клиент еще не установлен. Автоматическое удаление клиентов также возможно, однако управляется настройкой на вкладке настроек «Общие настройки» для компьютера. Там же находится и опция автоматического обновления клиентов.

2) Синхронизация выборочного наблюдения — указываются группы/пользователи, для которых будет выполняться выборочное наблюдение. Таким образом, вручную список пользователей на этой странице настроек заполнять будет не нужно. В ходе синхронизации список будет обновляться автоматически!

3) Синхронизация прав начальников — указываются группы/пользователи в одной из ролей (см. ниже).
Роли начальников:
«Супервизор» — данному начальнику доступны отчеты по всем сотрудникам компании (все домены).
«Суперпользователь» — доступны отчеты только по сотрудникам своего домена.
«Пользователь» — настраиваемые вручную права. После синхронизации на вкладке настроек «Пользователи базы» необходимо самостоятельно выбрать отделы или сотрудников, за которыми будет наблюдать данный начальник.
«Начальник» — доступны отчеты по себе самому и своим подчиненным. Что это означает? Если для каких-то сотрудников в AD установлен «Manager» (начальник), то у этого начальника появится поле directReports, которое и будет использоваться для создания прав доступа. Т.е. данный начальник сможет наблюдать только за самим собой, своими подчиненными и подчиненными своих подчиненных (и т.д. рекурсивно по иерархии подчинения вниз).

Приоритеты ролей: если один начальник входит сразу в несколько ролей, то для решения данного конфликта приоритеты расставлены в вышеописанном порядке.
В ходе синхронизации происходит заполнение данных на вкладке «Пользователи базы».

Внимание! Стандартные группы «Компьютеры домена» и «Пользователи домена» использовать нельзя! Вместо этого нужно указывать сам домен в таком же формате (DC=. DC=. ).

Вкладка «Профили»

Аналогично предыдущей вкладке «Объекты», но только указываются группы, OU или одиночные компьютеры/пользователи для сопоставления их с профилями клиентских настроек. См. раздел «Группы» в настройках комплекса.
Данная вкладка служит для того, чтобы не заполнять вручную раздел «Группы» в настройках комплекса, а синхронизировать с Active Directory.
Важно! Если пользователь входит в две и более групп, которые выбраны здесь и для которых установлены разные профили настроек, то конечная выборка профиля настроек для этого пользователя будет непредсказуемой!

Читайте так же:
Как отрегулировать систему отопления здания

Вкладка «Отделы»

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

Вкладка «Клиентские машины»

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

Вкладка «Настройки»

Здесь настраиваются параметры синхронизации:
«Игнорировать отключенные учетные записи» — если учетная запись компьютера или пользователя AD отключена, то обрабатываться синхронизатором не будет.
«Пинговать машины перед установкой клиента» — рекомендуется для ускорения процесса установки (для выключенных машин).
«Таймаут пинга» — время в мсек ожидания ответа от клиентской машины. Если в логах частые ошибки 11010 при включенных машинах, то имеет смысл увеличить данное значение.
«Название компании» — используется при синхронизации иерархии как верхний ее уровень.
«Строить иерархию на базе групп» — игнорировать реальное расположение компьютеров/пользователей в иерархии Active Directory и вместо этого строить иерархию используя группы, в которых находятся компьютеры/пользователи.
«Опции синхронизации досье» — указывайте названия полей AD для синхронизации досье.
«Настройки очистки лога» — очистка лога также происходит в ходе синхронизации.

Вкладка «Синхронизация»

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

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

Какие параметры не синхронизируются и меняются вручную

После успешной синхронизации можно менять вручную следующие параметры, которые не подлежат синхронизации:
— На вкладке «Пользователи базы» все пользователи с логинами SQL (не логины Windows).
— На вкладке «Пользователи базы» для пользователей с логинами Windows «Базовые права».
— На вкладке «Пользователи базы» для пользователей с логинами Windows «Доп. запреты» для роли «Пользователь».
— На вкладке «Досье сотрудников» все досье пользователей, не входящих в состав домена(ов).
— На вкладке «Досье сотрудников» параметр «Профиль».

Как настроить автоматическую отправку отчетов начальникам/сотрудникам

После успешной синхронизации можно вручную настроить права начальникам на отправку отчетов (вкладка «Пользователи базы») если в этом есть необходимость.
Далее эти начальники хотя бы один раз должны зайти в свой «Личный кабинет» (через веб-интерфейс БОСС) и включить там авто-генерацию отчетов.
Чтобы сотрудники могли получать отчеты на свои e-mail о своих же действиях необходимо указание их e-mail в карточке AD, а также включение соотв. разрешения в правах их начальника (лучше это разрешение включить у начальника верхнего уровня иерархии подчинения, а не у множества нижестоящих начальников).
Опции генерации отчетов должны быть настроены в серверных настройках (разделы «Генератор отчетов»).

Как настроить синхронизацию двух компьютеров через Интернет без использования облачных сервисов

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

Сейчас эту задачу принято решать с помощью различных облачных хранилищ, таких, например, как Dropbox. Однако такой способ синхронизации наряду с безусловными преимуществами имеет ряд серьезных недостатков. Во-первых, любое облачное хранилище имеет ограничение на объем хранимой и синхронизируемой информации. Бесплатного объема часто недостаточно, а дополнительный – стоит денег, которые приходится платить постоянно в виде абонентской платы. Во-вторых, для многих пользователей конфиденциальность при хранении информации – вопрос принципа, а в случае облачного хранилища всегда есть риск несанкционированного доступа к вашим данным третьих лиц. Громкие разоблачения последнего времени подтверждают обоснованность этих опасений. Наконец, скорость синхронизации с облачным сервисом зависит не только от пропускной способности вашего интернет-канала, но и от возможностей инфраструктуры этого сервиса. Опыт показывает, что даже самые крупные сервисы не всегда могут обеспечить максимально возможную скорость.

Избежать указанных проблем позволяет синхронизация через Интернет напрямую без привлечения внешних сервисов в качестве посредников. Действительно, в этом случае скорость синхронизации ограничена только пропускной способностью ваших интернет-каналов, данные не передаются третьим лицам, и нет никакой абонентской платы или ограничений на объем данных. Именно такой вариант синхронизации предлагает вам @MAX SyncUp. Кроме этого, большим преимуществом прямой синхронизации с помощью @MAX SyncUp является то, что в этом случае применяется специальный алгоритм для минимизации объема передаваемых по сети данных. Суть его состоит в том, что при наличии на принимающем компьютере предыдущей версии файла программа выделяет и передает по сети только изменившиеся части этого файла. Это позволяет радикально ускорить процесс синхронизации больших файлов, в которых происходят относительно небольшие изменения. Подобный алгоритм хорошо зарекомендовал себя благодаря консольной программе RSync для UNIX-подобных систем, но в @MAX SyncUp он дополнен современным и удобным графическим интерфейсом.

Читайте так же:
Как синхронизировать навигатор и смартфон

Как это работает? Во-первых, необходимо установить @MAX SyncUp на оба компьютера, которые будут синхронизироваться. Затем один из них надо настроить для работы в качестве SyncUp-сервера. При выборе компьютера на роль SyncUp-сервера необходимо учитывать следующие условия: он должен быть включен все время, когда может потребоваться синхронизация; его интернет-провайдер должен предоставлять публичный, можно – динамический, IP адрес; желательно также, чтобы роутер, который используется для выхода в Интернет, поддерживал протокол UPnP — это позволит избежать ручных настроек. Как правило, обычный домашний ПК соответствует этим условиям.

Для настройки SyncUp-сервера предусмотрен удобный мастер, который активируется при первом запуске программы.

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

В открывшемся окне вам необходимо задать параметры сервера.

Проверьте и при необходимости измените порт, который будет использоваться для связи с сервером, настройте использование UPnP для автоматического конфигурирования Port mapping-а на вашем роутере и протестируйте возможность подключения. Если ваш интернет-провайдер предоставляет вам динамический IP адрес, то включите SyncUp global access – некий аналог DynDNS, позволяющий подключаться к серверу с динамическим IP адресом. Создайте новую учетную запись или используйте существующую. Далее вам надо создать одну или несколько учетных записей, которые будут использоваться для доступа к этому серверу. Кроме этого, у вас есть возможность ограничить доступ к файловой системе сервера. Вы можете предоставить доступ только к одной или нескольким папкам сервера, а также настроить каждому пользователю личную папку, доступ к которой будет только у него (для этого в каждой учетной записи надо указать имя папки пользователя и использовать шаблон <User Folder> при указании локального пути). По завершению настройки сохраните изменения, нажав OK.

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

Для этого в меню File выберите пункт New profile.

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

Выберите Synchronization profile и нажмите Next.

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

Найдите и выберите папки, которые вы решили синхронизировать, и затем нажмите Next.

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

Выберите в качестве типа размещения SyncUp server и введите учетные данные, убедитесь, что в качестве типа хранилища выбрано Uncompressed files, и затем нажмите Next.

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

Укажите целевую папку на сервере (используйте кнопку Browse) и затем нажмите Next.

Следующая вкладка позволяет задать параметры запуска профиля.

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

Выберите Run on schedule и затем If files have been changed run every 1 min. При желании вы можете увеличить минимальный интервал между синхронизациями. После этого нажмите Next.

Последняя вкладка позволяет задать имя для профиля.

Введите имя профиля и затем нажмите Finish.

Это все! Теперь все файлы в выбранной папке будут автоматически синхронизироваться с файлами в папке на вашем сервере.

Синхронизация

Вы можете передавать данные с ваших часов в приложение Polar Flow по беспроводной сети через соединение Bluetooth. Или же вы можете синхронизировать часы с онлайн-сервисом Polar Flow, используя USB-порт и программу FlowSync. Чтобы синхронизировать данные ваших часов с приложением Polar Flow, у вас должна быть учетная запись Polar. Если вы хотите синхронизировать данные из часов непосредственно с онлайн-сервисом, то помимо учетной записи Polar вам нужна программа FlowSync. Если вы выполняли настройку часов, то создавали учетную запись Polar. Если вы настраивали часы с помощью компьютера, то на нем уже есть программа FlowSync.

Читайте так же:
Регулировка тиристорного зарядного устройства

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

Синхронизация с помощью мобильного приложения Polar Flow

Перед синхронизацией убедитесь, что:

  • У вас есть учетная запись Polar и приложение Polar Flow.
  • На вашем мобильном устройстве включен Bluetooth и отключен режим «В самолете».
  • Вы выполнили сопряжение часов и мобильного устройства. Для получения более подробной информации см. раздел Сопряжение.
  1. Войдите в приложение Polar Flow, а затем нажмите и удерживайте кнопку НАЗАД на часах до тех пор, пока на них не отобразится «Подключение к телефону» .
  2. На часах отображается «Подключение к приложению Polar Flow» .
  3. После выполнения процедуры на часах появится сообщение «Синхронизация завершена» .

Часы автоматически синхронизируются с приложением Polar Flow после окончания тренировки, если телефон находится в зоне досягаемости Bluetooth. При синхронизации часов с приложением для мобильных устройств Flow ваши данные о тренировках и активности также будут автоматически передаваться через Интернет-соединение на онлайн-сервис Flow.

За технической поддержкой и подробной информацией по использованию приложения Polar Flow обращайтесь на наш сайт в раздел support.polar.com/en/support/Flow_app.

Синхронизация с онлайн-сервисом Flow при помощи программы FlowSync

Чтобы синхронизировать данные с онлайн-сервисом Flow, необходима программа FlowSync. Зайдите на страницу flow.polar.com/start, загрузите и установите программу FlowSync перед синхронизацией.

  1. Подключите часы к компьютеру. Проверьте, запущена ли программа FlowSync.
  2. На компьютере откроется окно FlowSync, и начнется синхронизация.
  3. По завершении синхронизации появится сообщение «Завершено».

При каждом подключении часов к компьютеру программа Polar FlowSync будет передавать ваши данные на онлайн-сервис Polar Flow и синхронизировать возможные изменения настроек. Если синхронизация не началась автоматически, запустите программу FlowSync на рабочем столе (для Windows) или из папки приложений (для Mac OS X). Программа FlowSync будет уведомлять вас о появлении обновлений и запрашивать их установку.

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

Синхронизация (часов) между двумя удаленными компьютерами

Я собираюсь написать простую возможность синхронизации в свое приложение, и одна из проблем, которая возникла, — это синхронизация времени между двумя удаленными компьютерами, каждый со своими собственными часами (в частности, относительно дат модификации files/objects).

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

Например, для начала следует всегда использовать универсальное время (UTC), так как это позволяет избежать проблем timezone, но нет никакой гарантии, что два компьютера будут иметь точно такое же системное время. К счастью, работа, которую я делаю, не очень тонкая, так что это не очень важная забота, но тем не менее мне все равно любопытно.

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

Одна мысль, которая только что пришла мне в голову, состояла бы в том, чтобы синхронизировать каждый узел (каждый клиент) со смещением, вычисленным в какой-то момент ранее, возможно, путем вычисления смещения системных часов с глобальным сервером времени. Это нужно будет делать только время от времени, так как само смещение вряд ли сильно изменится за короткий промежуток времени.

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

9 ответов

  • Можно ли увидеть TCP трафик между двумя удаленными хостами в wireshark?

Я пытаюсь отладить TCP связь между двумя встроенными устройствами, только одно из которых находится под моим контролем. Я хочу посмотреть, что происходит в Wireshark, но ничего не вижу. Можно ли вообще видеть трафик между удаленными хостами (но на одном и том же коммутаторе) в Wireshark?

Я отправляю данные real-time-critical через Интернет между двумя выделенными компьютерами, используя свой собственный протокол. Здесь, конечно, присутствует латентность. Для отладки и оптимизации мне нравится, чтобы оба компьютера использовали одну и ту же временную базу. I.e, мне нужно знать.

Читайте так же:
Пластиковые окна brusbox регулировка

Полагаться на NTP для вашего приложения, как рекомендовали другие, — это легкая выдумка. Правильный подход заключается в использовании алгоритма распределенной синхронизации часов Лампорта. Это объясняется в его классической статье 1978 года » Время, часы и порядок событий в распределенной системе».

Посмотрите на спецификацию «Протокол сетевого времени» (NTP).

Вы можете попробовать PTP, Протокол точного времени (PTP) — это протокол, используемый для синхронизации часов по всей компьютерной сети. В локальной сети он обеспечивает точность синхронизации в субмикросекундном диапазоне, что делает его пригодным для систем измерения и управления. http://en.wikipedia.org/wiki/ Precision_Time_Protocol

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

1) Не имеют достаточных вычислительных знаний, чтобы иметь возможность настроить синхронизацию времени ntp

2) Установите часы своего компьютера на часы дома или часы мобильного телефона, которые неверны

3) В Windows XP случайно отключите синхронизацию времени ntp и не знаете, как включить ее снова, или неправильно установите дату своего компьютера, и в этом случае Windows ntp не работает

4) Батарея bios компьютера разрядилась, поэтому компьютер всегда запускается в 1970 году!

5) Пользователь берет свой ноутбук за границу и временно устанавливает часы ноутбука на местное время, но не меняет часовой пояс, поэтому теперь ПК вернет неверное время utc.

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

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

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

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

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

3) Затем приложение просматривает список будущих заданий, которые ему необходимо выполнить вовремя. Он должен знать самую раннюю работу.

4) Затем он создает поток, который он переводит в спящий режим на время, предшествующее самому раннему заданию, за вычетом запаса прочности, который в зависимости от ваших требований может составлять be 10 минут, час или два и т. Д.

5) Когда поток просыпается, он перепроверяет абсолютное время с последующим вызовом soap, а затем полагается на часы системного времени, чтобы добавить прошедшее время, пока не достигнет времени, когда должно быть выполнено первое задание.

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

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

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

3) Для вызова Soap, чтобы получить время, запишите, когда отправляется Soap и когда получен ответ. Если время выполнения слишком велико, вы не можете полагаться на это время и, возможно, потребуется повторить вызов, или вы можете пойти на компромисс. Например, если Soap говорит, что компьютерные часы работают с частотой 5 минут, но сам вызов Soap занял минуту, чтобы ответить, то вы можете с уверенностью сказать только, что компьютерные часы работают с частотой не менее 4 минут.

  • Безопасная синхронизация между удаленными компьютерами
Читайте так же:
Синхронизация вспышки по второй шторке что это

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

Я хочу отправить данные (текст) между двумя компьютерами (ноутбуком и SmartPhone), используя соединение wifi. Я хочу получить данные, которые поступают из SmatPhone в windows HyperTerminal. Кто-нибудь может помочь!

Синхронизируйте их с протоколом сетевого времени NTP .

На какой платформе вы находитесь?

С помощью NTP вы можете синхронизировать время ваших компьютеров с атомными часами и использовать официальное время мира.

Вместо того, чтобы писать код для синхронизации часов, разве нельзя было бы просто запустить клиент ntp на обеих машинах?

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

Одна вещь, которую мы делаем, — это, по сути, выгружаем все операции синхронизации на машину ‘host’. Например, если у вас есть 20 серверов, которые совместно используют DB, используйте время DB. Если у вас есть центральный сервер и миллион клиентских машин, то клиентские машины не должны отвечать за синхронизацию чего-либо; выполняйте всю синхронизацию на стороне сервера. В действительно ‘distributed’ среде, такой как P2P сеть или что-то в этом роде, используйте машину, которая наиболее непосредственно ‘owns’ рассматриваемый ресурс (фактический PC файл, который вы хотите записать), чтобы синхронизировать/контролировать доступ к файлу.

Не используйте NTP. NTP только для получения даты/времени.

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

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

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

Похожие вопросы:

Я пытаюсь скопировать с двух удаленных хостов, с другого хоста, то есть сказать, что а-это мой локальный хост. А B, C — это мои удаленные хосты. Как скопировать файл из B в C, размещенный в A.

Можно ли иметь скрипт в скрипте GameEngine и проверять его на наличие коллизий между двумя удаленными объектами, которые не подключены к скрипту GameEngine, через Update() или OnTriggerStay() /.

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

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

Я отправляю данные real-time-critical через Интернет между двумя выделенными компьютерами, используя свой собственный протокол. Здесь, конечно, присутствует латентность. Для отладки и оптимизации.

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

Я хочу отправить данные (текст) между двумя компьютерами (ноутбуком и SmartPhone), используя соединение wifi. Я хочу получить данные, которые поступают из SmatPhone в windows HyperTerminal.

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

Допустим, я хочу реализовать соединение TCP/UDP между двумя компьютерами. Я знаю, как это сделать, если знаю, что компьютер IPs и они находятся в одном и том же LAN. Но что, если они находятся в.

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector