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