【发布时间】:2013-06-07 17:09:01
【问题描述】:
我正在尝试编写一个 .NET/MS SQL 应用程序,该应用程序将从 Web 服务下载每日天气数据,并且我想将该数据存储/缓存在本地数据库中。
它的使用方式是:
- 用户将访问我的网页,输入开始和结束日期范围
- 代码将从数据库中检索数据,并从 Web 服务中检索任何丢失的数据。
- 将向用户显示所请求日期范围内的天气数据。
我用来下载天气数据的网络服务也接受从/到日期作为参数。
因为我不知道用户会输入哪些日期,所以我最终可能会在数据库中缓存分段数据。
我正在尝试解决几个问题:
- 如何根据数据库中存储的已下载(如果有)数据段,正确确定需要下载的数据的连续范围(从/到)?
- 理想情况下,我希望进行一次 Web 服务调用,而不是多次调用。
- 收到数据后,如何填写数据库中的空白,丢弃已存在日期的信息?
到目前为止,我已经尝试为第 1 项和第 2 项编写算法,但日期范围算术变得复杂,我无法完全让它发挥作用。第 3 项应该是微不足道的。
是否已经有解决类似问题的算法?
【问题讨论】:
标签: c# algorithm caching fragment segment