Как отсортировать события, созданные разными клиентами, на основе глобальных часов? - PullRequest
0 голосов
/ 23 февраля 2011

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

  • случайный уникальный идентификатор
  • местная метка времени (ГГГГ: ММ: ДД: Ч: М: С: мс)

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

Я не прошу код, мне просто нужен указатель в правильном направлении.

1 Ответ

1 голос
/ 23 февраля 2011

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

...