发明名称 一种结构化P2P网络中的路由系统构建方法
摘要 本发明公开了一种结构化P2P网络中的路由系统构建方法,主要解决现有技术查找效率不高,结点负载不均,物理网络与逻辑网络失配的问题。它包括:构建双层环状网络、为数据对象分配结点、构造路由表、存储热门对象和结点负载均衡,其中,双层环状网络根据结点IP地址和网关地址构建;数据对象根据其相关属性哈希值在双层网络中比较大小来分配;路由表分R指向表和N指向表两部分,存放路由信息;存储热门对象是对结点增加热门对象列表和访问计数器;负载均衡是对结点设置状态表,记录其他结点发来的负载状态。本发明具有逻辑网络与物理网络匹配,查找延迟小、效率高,结点负载均衡的优点,可用于网络中资源共享、即时通信、多媒体传输和协同工作。
申请公布号 CN102325093B 申请公布日期 2014.07.23
申请号 CN201110340331.6 申请日期 2011.11.01
申请人 西安电子科技大学 发明人 樊凯;李晖;李杨;孙宝华
分类号 H04L12/911(2013.01)I;H04L29/08(2006.01)I 主分类号 H04L12/911(2013.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种结构化P2P网络中的路由系统构建方法,包括:(A)构建网络:(A1)将结点n用标识符G表示,G=nodeID,G共有m位,前m1位表示为G1,后m2位表示为G2,则结点n表示为n(G1,G2);(A2)对所有结点的G1值与G2值进行如下计算:G1=Hash(GIP)mod2<sup>m1</sup>;G2=Hash(IP)mod2<sup>m2</sup>;GIP为结点n的网关地址,IP为结点n的互联网协议地址;(A3)将G1值相同的结点归为同一个簇,G1值不相同的结点各自成簇,则所有结点划分为很多簇,同一簇中结点的G2值不相同;(A4)将不同的簇中结点的G1值按从小到大顺时针排列成一个环状结构,形成高层环;(A5)对同一簇中的结点按G2值从小到大顺时针排列成一个环状结构,形成低层环,构成双层环状网络;(B)为数据对象分配结点:(B1)将数据对象用标识符k表示,k=objectID,k共有m位,前m1位表示为k1,后m2位表示为k2,则数据对象表示为k(k1,k2);(B2)将数据对象k的k1值按顺时针方向与高层环上每个簇的G1值进行比较,若k1值小于或等于除第一簇外的某个簇的G1值,同时大于该簇的前一个簇的G1值,则将数据对象k分配在该簇的低层环中;若k1值小于或等于第一簇的G1值,则将数据对象k分配在第一簇的低层环中;(B3)将数据对象k的k2值按顺时针方向与低层环上每个结点的G2值进行比较,若k2值小于或等于某个结点的G2值,第一个结点除外,同时大于该结点前一个结点的G2值,则将数据对象k分配给该结点;若k2值小于或等于第一个结点的G2值,则将数据对象k分配给这个簇第一个结点;若该低层环只有一个结点,则数据对象k直接分配给该结点;(C)构造路由表:(C1)每个结点保存一张m项的路由表,将路由表分为两个部分,分别用R指向表和N指向表表示;(C2)结点n(G1,G2)的R指向表中的第i项为结点([(G1+2<sup>i‑1</sup>)mod2<sup>m1</sup>],G2),同时记录它在高层环上的后继,1≤i≤m1,mod表示求余;(C3)结点n(G1,G2)的N指向表中的第i项为(G1,[(G2+2<sup>i‑1</sup>)mod2<sup>m2</sup>]),同时记录它在低层环上的后继,1≤i≤m2;(C4)根据路由表的R指向表在高层环上进行路由,根据路由表的N指向表在低层环上通过路由查找数据;(D)存储热门对象:(D1)将访问次数大于M的数据对象称为热门对象;(D2)将热门对象放置在一个列表中,列表共分三部分:数据对象ID、保存数据对象的结点IP和数据对象访问次数,该列表称为热门对象列表;(D3)将记录数据对象访问次数的计数器称为数据对象访问计数器,当数据对象要访问的结点收到一个数据对象访问请求时,数据对象访问计数器将对相应的访问次数加1;(D4)对每个结点增加一张热门对象列表和一个数据对象访问计数器;(E)结点负载均衡:(E1)为每个结点设置一个状态表,用于记录从其他结点发来的负载状态,负载状态分为四部分:结点ID、结点IP、当前负载量和时戳,定义结点的当前负载量为最近Δt时间内收到的访问请求数;(E2)当结点n收到访问请求时,将根据自身及其状态表中结点的负载利用率决定如何处理请求,其中负载利用率=当前负载量/结点负载能力:若结点n的负载利用率小于状态表中所有结点的负载利用率时,则结点n响应请求;否则结点n将请求转发给状态表中拥有最小负载利用率的结点。
地址 710071 陕西省西安市太白南路2号