我正在为办公室大厅开发一个特定于站点的安装,它将在 6 个 iPad 上显示内容。安装有几兆字节的数据,这些数据将由 django webapp 管理。我正在考虑从网络应用程序获取内容数据的不同策略。到目前为止,我只是将数据转储为 xml 格式,并通过从 iPad 到内容服务器的单个 http 请求获取它。然后我将所有内容加载到 iPad 上的内存中。
我开始担心随着内容量的增加我可能会遇到内存问题,并且将整个数据库存储在内存中将无法正常工作。下一步自然是考虑 iPad 上的数据库。我将 sqllite 用于内容服务器。在我看来,简单地下载整个数据库文件本身并直接从 iPad 查询它可能是可行的。
建议的方法
每晚从 django 内容服务器下载实际的 sqllite 数据库文件到办公室大厅安装中使用的六台 iPad 中的每台。
我喜欢这种方法的地方:
- 这可能真的很简单。它从系统中删除了整个 Web 服务层。
- 它很好地防止了网络问题。如果网络不可用,最糟糕的问题是 iPad 显示陈旧数据,而如果系统依赖于网络,则没有内容。
我不喜欢这种方法的事情
- 我不确定如何安全地下载文件。如何确保我正在下载的文件处于有效状态,并且在有人更新它时我没有下载?
- 我从来没有听说过有人这样做,甚至没有考虑过这样做。似乎它远非尝试和真实。
我的问题
- 谁能想到为什么这是一个坏主意的原因?
- 如何安全地下载 sqllite 文件并确信它处于有效状态?