ip地址的四個部分組成 海量數(shù)據(jù)算法:如何從超過10G的記錄IP地址的日志中,較快的找出登錄次數(shù)最多的一個IP?
海量數(shù)據(jù)算法:如何從超過10G的記錄IP地址的日志中,較快的找出登錄次數(shù)最多的一個IP?答案太復雜了。如果仔細計算,IP地址是4字節(jié),最多是4G。打開16GB陣列。每個IP的32位索引由4個字節(jié)組成,
海量數(shù)據(jù)算法:如何從超過10G的記錄IP地址的日志中,較快的找出登錄次數(shù)最多的一個IP?
答案太復雜了。如果仔細計算,IP地址是4字節(jié),最多是4G。打開16GB陣列。每個IP的32位索引由4個字節(jié)組成,是數(shù)組的索引。數(shù)組中的每個元素都是32位整數(shù),它記錄并自動增加與索引對應的IP出現(xiàn)次數(shù)。通過這種方式,您可以讀取10GB日志并找出誰是最大的。你不用教我怎么找到最大的,是嗎?
這樣,如果磁盤足夠快,數(shù)據(jù)應該在30秒內發(fā)送出去。
IP正則表達式?
10.0.0.0-10.255.255.255常規(guī):^10()。([2][0-4]D |[2][5][0-5]|[01]?D個?(d))d){3}。。。。 3。。。 3。。。。 172.16.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0。。。。。。。。 172.172.16.16.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0。。。。 172.172.31.31.255。255.255該[1][1][6 6-9][2][6-9][2[6-9][6-9][2][[1][3][2][3[2[2[2[2][0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0[第5條][5] [5][5][5][5][5][5][5][5][2][2][2][2][2][2所以
@“^10()。([2][0-4]D |[2][5][0-5]|[01]