发明名称 基于全局最小访问代价的副本选择方法
摘要 本发明是基于全局最小访问代价的副本选择方法,具体涉及一种具有双链表逻辑集中的网络副本目录模型和一种基于全局最小访问代价的副本选择方法,属于计算机网络技术领域。本发明适用于基于语义相似度的层次式对等网络结构,是一个四层的树状结构,一级超级节点上提供本域的副本目录,二级超级节点上提供本组的副本目录;并包含两个链表,链表T<sub>linked</sub>是从带有正本的副本目录中的逻辑资源到其副本物理地址的链接,链表B<sub>linked</sub>是副本对应的逻辑资源地址到带有正本的该逻辑资源名的副本目录的链接。该副本目录模型在全局意义下选择副本和副本更新。通过基于全局最小访问代价的副本选择方法,可以确定具有全局最小访问代价的副本的物理地址。
申请公布号 CN100583802C 申请公布日期 2010.01.20
申请号 CN200710304270.1 申请日期 2007.12.26
申请人 北京理工大学 发明人 李侃;孙新;李龙;刘长利
分类号 H04L12/46(2006.01)I;H04L12/28(2006.01)I 主分类号 H04L12/46(2006.01)I
代理机构 北京理工大学专利中心 代理人 张利萍
主权项 1.一种基于全局最小访问代价的物理副本选择方法,其特征在于:所述的基于全局最小访问代价的物理副本选择方法是在具有双链表逻辑集中的网络副本目录模型的基础上实现的;所述具有双链表逻辑集中的网络副本目录模型用于基于语义相似度的层次式对等网络结构,是一个四层的树状结构,树根位于树的第一层,它是一个虚节点,不存放任何信息;一级超级节点位于树的第二层,它的副本目录存放本域的副本信息;二级超级节点位于树的第三层,它的副本目录存放本组的副本信息;普通节点位于树的第四层,它不存放副本目录;副本目录存放的副本信息包括逻辑资源名、副本物理地址、以及副本对应的逻辑资源地址等;所述的副本目录模型中设定两个链表,一个链表Tlinked是从带有正本的副本目录中的逻辑资源到其副本物理地址的链接,它提供同一逻辑资源的全局完整的副本视图,便于副本的一致性更新操作,并且在副本选择时提供全局意义下的最小代价副本;另一个链表Blinked是副本对应的逻辑资源地址到带有正本的该逻辑资源名的副本目录的链接,它可以提供通过副本的逻辑资源地址快速链接到其副本目录,从而在全局意义下选择副本和副本更新,它也可以提供副本所在域的节点就近访问副本资源;其中,逻辑资源指数据网格中共享的资源及其所有副本的集合;含有正本的副本目录中记录了与该正本具有相同逻辑资源名的所有正副本信息;正本和副本统称为物理副本;基于全局最小访问代价的物理副本选择方法具体步骤包括:第一步、如果请求节点nr是普通节点,则(1)节点nr向它所在组的二级超级节点发出对逻辑资源varLRN的数据访问请求:如果二级超级节点上的副本目录中含有逻辑资源varLRN的正本,则转到第四步;如果二级超级节点上的副本目录中仅含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN正本的副本目录,转到第四步;(2)如果二级超级节点上的副本目录中不含有逻辑资源varLRN的信息,则二级超级节点向它所在域的一级超级节点发送对逻辑资源varLRN的数据访问请求:如果一级超级节点上的副本目录中含有逻辑资源varLRN的正本,则转到第四步;如果一级超级节点上的副本目录中仅含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN正本的副本目录,转到第四步;(3)如果本域的一级超级节点上的副本目录中不含有逻辑资源varLRN的信息,则向此网络中的所有其它的一级超级节点发送对逻辑资源varLRN的数据访问请求:如果在这些一级超级节点的副本目录中找到第一个含有逻辑资源varLRN的正本信息,则转到第四步;如果在这些一级超级节点中副本目录中找到第一个含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN的正本的副本目录,转到第四步;如果在这些一级超级节点的副本目录中没有找到含有逻辑资源varLRN的信息,则转到第五步;第二步、如果请求节点nr是二级超级节点,则(1)节点nr首先在自己的副本目录中查找逻辑资源varLRN的信息,如果本二级超级节点上的副本目录中含有逻辑资源varLRN的正本,则转到第四步;如果本二级超级节点上的副本目录中仅含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN正本的副本目录,转到第四步;(2)如果二级超级节点上的副本目录中不含有逻辑资源varLRN的信息,则二级超级节点向它所在域的一级超级节点发送对逻辑资源varLRN的数据访问请求:如果一级超级节点上的副本目录中含有逻辑资源varLRN的正本,则转到第四步;如果一级超级节点上的副本目录中仅含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN正本的副本目录,转到第四步;(3)如果本域的一级超级节点上的副本目录中不含有逻辑资源varLRN的信息,则向此网络中的所有其它的一级超级节点发送对逻辑资源varLRN的数据访问请求:如果在这些一级超级节点的副本目录中找到第一个含有逻辑资源varLRN的正本信息,则转到第四步;如果在这些一级超级节点中副本目录中找到第一个含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN的正本的副本目录,转到第四步;如果在这些一级超级节点的副本目录中没有找到含有逻辑资源varLRN的信息,则转到第五步结束;第三步、如果请求节点nr是一级超级节点,则(1)节点nr首先在自己的副本目录中查找逻辑资源varLRN的信息,如果本一级超级节点上的副本目录中含有逻辑资源varLRN的正本,则转到第四步;如果本一级超级节点上的副本目录中仅含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN正本的副本目录,转到第四步;(2)如果本一级超级节点上的副本目录中不含有逻辑资源varLRN的信息,则向此网络中的所有其它的一级超级节点发送对逻辑资源varLRN的数据访问请求:如果在这些一级超级节点的副本目录中找到第一个含有逻辑资源varLRN的正本信息,则转到第四步;如果在这些一级超级节点中副本目录中找到第一个含有逻辑资源varLRN的副本信息,则通过Blinked链表找到含有逻辑资源varLRN的正本的副本目录,转到第四步;如果在这些一级超级节点的副本目录中没有找到含有逻辑资源varLRN的信息,则转到第五步结束;第四步、设同一逻辑资源的物理副本为R1,R2,…Rn,物理副本所在的节点记为p1,p2,…pm,请求服务的节点记为pj,物理副本所在的节点当前负载值为L1,L3,…Lm,物理副本所在的节点网络带宽B1,B2,…Bm,请求服务的节点pj与物理副本Ri的跳数用Dji表示,节点pj访问物理副本Ri的代价记做Cji=αDjiBi+βLi,α,β为权重其中,α+β=1,0<α<1,0<β<1;若Cm=Min(Cji),则物理副本Rm即为所求最小访问代价的物理副本;对于逻辑资源varLRN的所有物理副本,采用该公式,确定具有全局最小访问代价的物理副本,返回具有最小访问代价的物理副本的物理地址;第五步、结束。
地址 100081北京市海淀区中关村南大街5号