2012-10-15 25 views
5

Tôi có một hoạt động nhạy cảm về thời gian cần phải biết về độ lệch đồng hồ giữa các máy tính khác và/hoặc bảo vệ chống lại một thứ như vậy. Làm thế nào tôi có thể phát hiện hoặc bảo vệ chống lại skew đồng hồ?Làm cách nào để phát hiện xung đồng hồ giữa các nút trong vai trò Azure?

Trong trường hợp của tôi, tôi đang viết tem ngày giờ được nén thành Azure Blob. Nó sẽ là disasterous nếu các nút khác nhau sẽ intererpret rằng tem datetime khác nhau (vì nó có thể xảy ra trong một ngày bước nhảy vọt, hoặc nhảy thứ hai)


Thông tin thêm

Tôi đang cố gắng để phát hiện đồng hồ nghiêng trong thời gian hiện tại của nút cục bộ.

Mỗi nút sẽ ghi thông tin nhạy cảm về thời gian vào Blob/Bảng. Nếu dấu thời gian lớn hơn X so với một số hành động nhất định sẽ xảy ra. Nếu thời gian không được đồng bộ, dữ liệu có thể bị mất hoặc bị hỏng.

giải pháp có thể

Có lẽ tôi có thể có mỗi nút ghi ngày hiện tại của mình để lưu trữ blob (32 byte) trên một khoảng thời gian đều đặn, và sau đó truy vấn mà trên cơ sở thường xuyên.

Trả lời

2

Có một vài API khách hàng NET NTP sẽ cho bạn biết độ lệch giữa thời gian và nút cục bộ trên máy chủ thời gian NTP. Ví dụ:

Bạn có thể sử dụng một ứng dụng NTP để lưu trữ tất cả các giờ địa phương và nghiêng trong blob của bạn. Khi bạn đọc blob trên một nút khác, bạn có thể tính toán thời gian cục bộ của nút đó và nghiêng và so sánh nó với thời gian lưu trữ và lệch của blob.

Các vấn đề liên quan