public void SetTraffic(Node source, Node dest, int traffic) { source.Traffic += traffic; dest.Traffic += traffic; var t = Tuple.Create(source, dest); if (Traffics.ContainsKey(t)) { Traffics[t] += traffic; } else { Traffics.Add(Tuple.Create(source, dest), traffic); } }
//Chuyển lưu lượng giữa các nút backbones private double Traffic2Backbones(Node b1, Node b2) { double traffic = 0; List <Node> s = _clusters[b1]; s.Add(b1); List <Node> d = _clusters[b2]; d.Add(b2); for (int i = 0; i < s.Count; i++) { for (int j = 0; j < d.Count; j++) { if (Traffics.ContainsKey(Tuple.Create(s[i], d[j]))) { traffic += Traffics[Tuple.Create(s[i], d[j])]; } } } return(traffic); }
public static IList <Traffics> GetPageview(TrafficQuery query) { DateTime dateTime; if (query.LastConsumeTime == EnumConsumeTime.custom) { if (query.CustomConsumeStartTime > query.CustomConsumeEndTime) { return(null); } } else if (query.LastConsumeTime == EnumConsumeTime.inOneMonth) { dateTime = DateTime.Now; dateTime = dateTime.Date; query.CustomConsumeEndTime = dateTime.AddDays(-1.0); dateTime = query.CustomConsumeEndTime; query.CustomConsumeStartTime = dateTime.AddDays(-29.0); } else if (query.LastConsumeTime == EnumConsumeTime.inOneWeek) { dateTime = DateTime.Now; dateTime = dateTime.Date; query.CustomConsumeEndTime = dateTime.AddDays(-1.0); dateTime = query.CustomConsumeEndTime; query.CustomConsumeStartTime = dateTime.AddDays(-6.0); } else if (query.LastConsumeTime == EnumConsumeTime.preThreeMonth) { dateTime = DateTime.Now; dateTime = dateTime.Date; query.CustomConsumeEndTime = dateTime.AddDays(-1.0); dateTime = query.CustomConsumeEndTime; query.CustomConsumeStartTime = dateTime.AddDays(-89.0); } else { dateTime = DateTime.Now; dateTime = dateTime.Date; query.CustomConsumeEndTime = dateTime.AddDays(-1.0); query.CustomConsumeStartTime = query.CustomConsumeEndTime; } IList <Traffics> list = new TrafficDao().GetPageview(query); if (query.CustomConsumeStartTime < query.CustomConsumeEndTime) { DateTime dtDay = query.CustomConsumeStartTime; while (dtDay <= query.CustomConsumeEndTime) { if (list.FirstOrDefault((Traffics c) => c.StatisticalDate == dtDay) == null) { Traffics traffics = new Traffics(); traffics.StatisticalDate = dtDay; list.Add(traffics); } dtDay = dtDay.AddDays(1.0); } list = (from c in list orderby c.StatisticalDate select c).ToList(); } return(list); }