数据传输和协调

时间:2015-09-04 14:10:13

标签: java mysql csv

我目前与第三方进行双向通信,我们经常交换数据。有一个自动过程可以处理数据到数据库的任何变化。问题是CSV用于传输数据并不总是完全相同

发送的数据:

╔═══════════════════╦═════════════╦═════════╦═══════════╦═════════════════╦═════════════╦══════════════╗
║ Unique Identifier ║ Client Name ║ Fund ID ║  Capital  ║ Investment Date ║ Mtd. Return ║ Acct. Number ║
╠═══════════════════╬═════════════╬═════════╬═══════════╬═════════════════╬═════════════╬══════════════╣
║ AB10001           ║ John Smith  ║     123 ║ 40,000.00 ║ 9/1/15          ║ 0.95        ║       123456 ║
║ AB10002           ║ John Smith  ║     221 ║ 50,000.00 ║ 9/1/15          ║ 0.23        ║       123456 ║
╚═══════════════════╩═════════════╩═════════╩═══════════╩═════════════════╩═════════════╩══════════════╝

收到的数据:

╔═══════════════╦═════════╦═══════════╦═════════════════╦═════════════╦══════════════╗
║  Client Name  ║ Fund ID ║  Capital  ║ Investment Date ║ Mtd. Return ║ Acct. Number ║
╠═══════════════╬═════════╬═══════════╬═════════════════╬═════════════╬══════════════╣
║ John A. Smith ║     123 ║ 40,000.00 ║ 9/1/15          ║ 0.84        ║       123456 ║
║ John A. Smith ║     221 ║ 50,000.00 ║ 9/1/15          ║ 0.25        ║       123456 ║
╚═══════════════╩═════════╩═══════════╩═════════════════╩═════════════╩══════════════╝

我发出一个唯一标识符,但第三方不会映射这段数据。因此,它永远不会得到回报。我必须找出一种基于其他列关联这些数据的方法。请记住,此数据在每次传输过程中都有100多个条目,帐号,投资日期,资金和基金ID并不是唯一的。但是,将范围缩小到每个客户端,可以更容易地识别它是什么特定事务。问题是收到的数据(特别是名称)并不总是1比1。如上例所示,John Smith被派出,我收到了John A. Smith。

是否有任何方法可以创建对象,并比较所有不更改的字段(投资日期,资金,资金ID,客户名称,帐号)并创建比较器阈值。即。如果数据是95%匹配,我们可以处理它,否则拒绝它进行手动对帐。

0 个答案:

没有答案