嗨,我正在研究 Ruby /cucumber,并且需要开发一个比较模块/程序来比较两个文件。
以下是要求
该项目是一个迁移项目。来自一个应用程序的数据移动到另一个应用程序
需要将现有应用程序的数据与新应用程序的数据进行比较。
解决方案 :
针对上述要求,我在 Ruby 中开发了一个比较引擎。
a) 获取数据,从两个数据库中去重复和排序 b) 将数据放入带有“||”的文本文件中 作为分隔符 c) 使用在数据库中提供唯一记录的键列(数字)来比较两个文件
例如 File1 有 1,2,3,4,5,6,file2 有 1,2,3,4,5,7 列 1,2,3,4,5 是关键列。我使用这些关键列并比较导致失败的 6 和 7。
问题 :
我们在这里面临的主要问题是,如果 100,000 条或更多记录的不匹配率超过 70%,则比较时间会很长。如果不匹配小于 40%,则比较时间是可以的。
Diff 和 Diff -LCS 在这种情况下不起作用,因为我们需要关键列才能在两个应用程序之间进行准确的数据比较。
如果 100,000 条或更多记录的不匹配率超过 70%,是否有任何其他方法可以有效地减少时间。
谢谢