I'm working on an update to a distributed data acquisition system. The current configuration has an acquisition "data server" that pushes a continuous stream of real-time data to clients over a persistent Ethernet connection. Currently, only the client side logs any of this data.
This has worked well but now I must solve a new problem - have the client bring in and merge开发者_高级运维 the server's data in case of a connection outage (this would occur after re-establishing a connection). Storage space on the acquisition side is not an issue. There are never any more than 4 clients connected at a time on this closed LAN. I'm looking for architecture or pattern that addresses this issue. Any suggestions? Should the server side always log as long as its on? Or just log when it has to (i.e., when there is network loss) - in that case, what is the best practice to handle merging the client's data with server's?
Here the client could use a client cache of the data.
You then have to synchronise the client cache with the server data. Rather than programming this your self, you could use a framework.
You do not say which technology you use, but one possibility is MS Sync Framework, which is free http://msdn.microsoft.com/nb-no/sync/default.aspx
精彩评论