目录
模块2-资源节点与资源的关系
图示
请允许我用一张图来形容资源节点与资源的一个关系:
这只是一个拥有资源端,当拥有很多的云节点时,其机制相同,但接受到完整文件的速度将大大提升。
此时,让我们来看看这个承担了两个端交互的资源管理中心:资源管理中心的职责应该单一化,简单化,以及其高可用性。
资源管理中心
ICenterAction
/**
*
* <ol>
* 功能:资源管理中心的接口
* <li>注册节点</li>
* <li>注销节点</li>
* <li>处理请求节点需求</li>
* </ol>
* @author Quan
* @date 2020/03/07
* @version 0.0.1
*/
public interface ICenterAction {
boolean registryNode(Node Node, List<ResourceBaseInfo> resourceList);
boolean registryNode(Node Node, ResourceBaseInfo rbi);
boolean logOutNode(Node Node);
List<Node> requestResource(ResourceBaseInfo rbi);
}
ResourceCenter
/**
* 这里的方法可以通过RPC来调用
* <ol>
* 功能:资源管理中心
* <li>收集注册节点</li>
* <li>注销节点并按照因子定期处理</li>
* <li>请求资源时发出所有已有资源节点</li>
* </ol>
* @author Quan
* @date 2020/03/07
* @version 0.0.1
*/
@RMIInterfaces(rmiInterfaces = {ICenterAction.class})
public class ResourceCenter implements ICenterAction {
private static final double DEFAULT_THRESHOLD = 1.0;
private static final Map<Integer, List<Node>> resourceNodeMap = new HashMap<