Traceroute比较和统计

时间:2010-04-21 16:41:51

标签: java arrays statistics hashmap traceroute

我有许多traceroutes,我需要相互比较,但我不知道最好的方法,我已经被告知哈希地图是一个很好的技术,但我不知道如何在我的代码上实现它们。

到目前为止,我有:

FileInputStream fstream = new FileInputStream("traceroute.log");


// Get the object of DataInputStream

DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));

String strLine;


// reads lines in
while ((strLine = br.readLine()) != null) {

System.out.println(strLine);

,输出如下:

Wed Mar 31 01:00:03 BST 2010

traceroute to www.bbc.co.uk (212.58.251.195), 30 hops max, 40 byte packets
 1  139.222.0.1 (139.222.0.1)  0.873 ms  1.074 ms  1.162 ms 
 2  core-from-cmp.uea.ac.uk (10.0.0.1)  0.312 ms  0.350 ms  0.463 ms
 3  ueaha1btm-from-uea1 (172.16.0.34)  0.791 ms  0.772 ms  1.238 ms
 4  bound-from-ueahatop.uea.ac.uk (193.62.92.71)  5.094 ms  4.451 ms  4.441 ms
 5  gi0-3.norw-rbr1.eastnet.ja.net (193.60.0.21)  4.426 ms  5.014 ms  4.389 ms
 6  gi3-0-2.chel-rbr1.eastnet.ja.net (193.63.107.114)  6.055 ms  6.039 ms *
 7  lond-sbr1.ja.net (146.97.40.45)  6.994 ms  7.493 ms  7.457 ms
 8  so-6-0-0.lond-sbr4.ja.net (146.97.33.154)  8.206 ms  8.187 ms  8.234 ms
 9  po1.lond-ban4.ja.net (146.97.35.110)  8.673 ms  6.294 ms  7.668 ms
10  bbc.lond-sbr4.ja.net (193.62.157.178)  6.303 ms  8.118 ms  8.107 ms
11  212.58.238.153 (212.58.238.153)  6.245 ms  8.066 ms  6.541 ms
12  212.58.239.62 (212.58.239.62)  7.023 ms  8.419 ms  7.068 ms

我需要做的是将此跟踪与其他跟踪进行比较,并查找更改和时间差等,然后打印统计信息页。

1 个答案:

答案 0 :(得分:0)

我将定义一个数据类(TraceEntry),它封装了一个条目信息:序列号,主机名,ip和持续时间。然后我会根据匹配条件定义equals()方法(ip我想?),并相应地实现hashCode()。

现在,可以将一个跟踪的所有条目添加到哈希集中,然后扫描另一个跟踪,查找哈希集中的匹配项。每当找到匹配项时,您都可以检查除ip之外的字段中的差异。

我希望我能理解你的比较模型。