资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
package com.ytest.dao.route;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Random;/*权重路由算法* Date 2016 年 9 月 6 日* author Nero Hua.wang* version v1.0.0*/public class RouteUtil private static class Interval String routeNode;int min;int max;Interval(String routeNode, int min, int max) this.routeNode = routeNode;this.min = min;this.max = max; boolean contains(introuteNum) if (routeNum= min &routeNum max)return true;elsereturn false;public static void main(String args) Map routes = new HashMap(4);routes.put(db1_t1, 1);routes.put(db1_t2, 1);routes.put(db2_t3, 1);routes.put(db2_t4, 1);List intervals = new ArrayList(routes.size();Integer min = 0;Integer routeSum = 0;for (String nodeName : routes.keySet() (routeSum += routes.get(nodeName);Integer max = min + routes.get(nodeName);Interval node = new Interval(nodeName, min, max); min = max;intervals.add(node);int db1t1Count = 0;int db1t2Count = 0;int db2t3Count = 0;int db2t4Count = 0;for (inti = 0; i 100000; i+) int r = new Random().nextInt(routeSum);for (Interval node : intervals) if (node.contains(r) if (db1_t1.equals(node.routeNode) db1t1Count+;if (db1_t2.equals(node.routeNode) db1t2Count+;if (db2_t3.equals(node.routeNode) db2t3Count+;if (db2_t4.equals(node.routeNode) db2t4Count+;System.out.println(db1t1Count);System.out.println(db1t2Count);System.out.println(db2t3Count);System.out.println(db2t4Count);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号