写点什么

Week5-Homework

用户头像
关注
发布于: 2020 年 07 月 08 日

未完成,还需要继续查资料完善以下代码。

public class Test {
//10个服务器节点 static int[] services = {0,1,2,3,4,5,6,7,8,9}; //待存放的数据 static String[] data = {"aaa","bbb","ccc"};
public static void main(String[] args) { //声明一个存放服务器节点的list List list = new LinkedList<Link>(); //将真实物理节点放进去 for (int i = 0;i < services.length; i++){ Link link = new Link(); HashMap map = new HashMap<String,List>(); map.put(services[i],null); link.setData(map); list.add(services[i]); } //将数据存放进去 for (int i = 0;i < data.length; i++){ int result = data[i].hashCode()%services.length; //取模存数据即可 //一致性hash需要的虚拟节点,怎么添加进去? //按照什么样的规则生成一些虚拟节点? //虚拟节点如何对应到真实的物理节点? //如何计算出虚拟节点离哪一个物理节点接近? //需要存储吗? } }

static class Link{ //头结点 private String head; //数据块 private HashMap<String,List> data; //下个节点指针 private String next;
public Link() { }
public Link(String head, HashMap<String, List> data, String next) { this.head = head; this.data = data; this.next = next; }
public String getHead() { return head; }
public void setHead(String head) { this.head = head; }
public HashMap<String, List> getData() { return data; }
public void setData(HashMap<String, List> data) { this.data = data; }
public String getNext() { return next; }
public void setNext(String next) { this.next = next; } }
}
复制代码

50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字 50 个字


用户头像

关注

还未添加个人签名 2018.05.02 加入

还未添加个人简介

评论

发布
暂无评论
Week5-Homework