主权项 |
一种机会网络中的兴趣社区路由方法,其特征在于包括步骤: 101、机会网络初始化,设定节点相遇次数Numi,节点相似性值Simi、中继节点个数g的初始值,其中i=1、2、3…n,n为正整数; 102、当携带数据包msgd的当前节点nodes和目的节点noded在同一兴趣社区内,有k个节点进入当前节点nodes的通信范围内时,判断所述k个节点中是否存在目的节点,若存在,则将数据包传给该目的节点,结束;若不存在,则跳转至步骤103; 当携带数据包msgd的当前节点nodes和目的节点noded不在在同一兴趣社区内。有k个节点进入当前nodes的通信范围内时,判断所述k个节点中是否存在目的节点,若存在,则直接将数据包传给该目的节点,结束;若不存在,则跳转至步骤104; 103、比较进入当前节点nodes通信范围内的k个节点与目标节点noded的兴趣社区ID,若有m个相遇节点与目标节点noded在同一兴趣社区,当m>0时,获得当前节点nodes与目标节点noded的相似性值Sim(nodes,noded)和接触次数Num(nodes,noded),再获得节点nodes与目标节点noded的相似性值Sim(nodes,noded)和接触次数Num(nodes,noded);当Num(nodek,noded)>Num(nodes,noded),且Num(nodek,noded)>Numi、Sim(nodek,noded)>Simi时,将nodek作为候选中继节点,若有h个节点为候选中继节点,则将其与noded的接触次数由大到小排列,将目标节点noded的信息传送给前g个候选中继节点,当Num(nodek,noded)<Num(nodes,noded)时,则目标节点noded的信息将不会传给任何相遇节点,继续保存在nodes里;当Num(nodek,noded)=Num(nodes,noded)时,将目标节点noded的信息消息传给Sim(nodek,noded)≥Sim(nodes,noded)的相遇节点,结束; 104、比较进入当前节点nodes通信范围内的k个节点与目标节点noded的兴趣社区ID。若有m个相遇节点与目标节点noded在同一兴趣社区,则将数据包传给m个相遇节点,若m>0,获得当前节点nodes与目标节点noded的接触次数Num(nodes,noded), 若Num(nodek,noded)>0,则将消息传给nodek,若不存在与noded接触过的节点,则查看Nm中是否有属于多个兴趣社区的节点,将消息传给这样的节点。若m≤0,则查看Nk中是否有属于多个兴趣社区或满足Num(nodek,noded)>0(nodek∈Nk)的节点,将消息传给这样的节点。 |