我有一个桌面python应用程序,其数据后端是MySQL数据库,但其先前的数据库是网络访问的xml文件。当它是xml驱动的时候,我在应用程序启动时产生了一个线程,只需检查xml文件中的更改,并且每当修改日期发生更改时(由于任何用户更新它),应用程序将刷新自身以便多个用户可以使用并查看应用程序在开展业务时的变化。
现在该程序已经成熟并且正在冒险进入在线状态,因此可以在任何地方使用。 Xml在窗外,我使用MySQL和SQLAlchemy作为数据库访问方法。但是,图表会变粗,因为信息不再存储在一个xml文件中,而是分成SQL数据库中的多个表。这使得某种“最后修改的”表值或结构的想法复杂化。因此,问题是,您如何通知用户数据已更改且应用需要刷新?以下是我的一些想法:
一些额外信息:
无论如何,对我来说有点新的领域,那么你会做什么?提前谢谢!
答案 0 :(得分:0)
据我所知,这不是客户端 - 服务器应用程序,而是具有公共远程存储的应用程序
一个想法是改变为Web服务(从长远来看,这将解决您的大多数问题)
另一个想法(如果您不想切换到Web)是使用计时器定期刷新界面中的数据
另一种方式(也就是更复杂)是让服务器接收所有更新,将它们存储在数据库中,然后将更改推送到其他连接的客户端。
您提到的前两个想法将具有维护,可扩展性和设计丑陋问题
在我看来,最后2个更好,但我仍然坚持将Web服务视为最佳。