gpt4 book ai didi

c++ - 在网络上查找和分发字典更改的最佳方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:34 25 4
gpt4 key购买 nike

问题:您在服务器上有一个很大的字典,并且您正在将它分发给很多客户端。

字典仅在服务器端更新,但您希望通过最小化传输的数据来允许客户端更新字典。

您还可以假设您有大量客户请求更新,可能每天左右。

如果从服务器中删除了一个 key ,您希望它在同步时从客户端中删除。

你会如何解决这个问题?

附加要求:该解决方案应该易于在不同平台 上实现,包括桌面(Windows、Linux、OS X)和移动平台(iOS、Android 等)。如果这要求使用第三方库,则它们的许可必须非常自由,例如 BSD。

最佳答案

如果这是在文件级别,则使用 rsync (或者很棒的 bsdiffxdelta 之类的)。

如果这是在应用程序级别,那么一种方法是将日志更新写入服务器中的字典(键值存储)——您将所有更新、添加和删除的日志按它们发生的顺序写入日志。然后,您的客户会定期访问服务器并说出他们上次收到的日志中的位置,然后服务器向他们发送所有比该位置更新的日志项。服务器也可以跳过被取代的日志项目(例如,后来被删除的添加)。如果服务器跟踪客户端,它可以跟踪最小客户端日志位置,从而摆脱它不再需要的日志项。

如果字典很大但请求很少,客户端可以在每次查找时访问服务器并始终获得最新的键。这通常比您想象的更好。

关于c++ - 在网络上查找和分发字典更改的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com