2

我已经搜索了该站点,但没有找到完全回答我的问题的问题/答案,我找到的最接近的是:在两个不同的系统之间同步对象最佳方法

无论如何要开始,因为没有可用的 RSS 提要,我正在屏幕抓取网页,因此它会进行抓取,然后它会通过网页抓取我感兴趣的所有信息并将该信息转储到sqlite 数据库,以便我可以在闲暇时查询信息,而无需从网站重复获取。

但是,我还在存储在 sqlite 数据库中的数据本身上存储各种元数据,例如:我查看过数据,数据是新的/旧的,为一大块数据添加书签(将其视为一个集合不相关的数据,书签只是指向我在处理/读取所述数据的位置的指针)。

所以现在我当前的问题是试图弄清楚如何以有效和直接的方式使用新数据和/或来自网站的更改数据更新本地 sqlite 数据库。

这是我目前的想法:

  1. 下载页面本身
  2. 为解析后的数据创建一个临时表以进入
  3. 在官方和临时表之间进行比较,并将更新和/或新信息复制到官方表

这个过程似乎有点复杂,因为我必须弄清楚如何确定临时表中的数据是新的、更新的还是未更改的。所以我想知道是否没有更好的方法,或者是否有人对如何构建/构建这样的系统有任何建议?

编辑 1: 我不确定将附加信息放在哪里,在评论中或作为编辑,所以我将在此处添加。

这在书签方面扩展了元数据,基本上数据源可以创建新数据/添加到当前数据,所以我考虑做临时表想法的一个原因是我能够确定是否已“添加书签”的数据源是否有任何新数据。

4

1 回答 1

0

确定临时表中的数据是新的、更新的还是未更改的,真的很重要吗?您真的需要保留更改的历史记录吗?

否:不要使用临时表,只需将旧记录标记为旧(时间戳),不要进行更新,只需插入新数据。

是的:您的想法对我来说似乎是正确的,但这完全取决于您每次需要处理多少数据;我认为使用大量数据是不可行的。

于 2010-04-26T15:40:13.890 回答