本发明涉及无线通信网络领域,具体涉及一种基于qos的移动p2p网络虚拟链路选取方法。
背景技术:
随着计算机网络技术、移动通信技术和计算机应用技术的不断发展,出现了一种新的网络技术,即移动p2p网络(peer-to-peernetworks,p2p)。移动p2p网络是叠加在网络层之上的会话层覆盖网络,能够利用多种带宽和服务质量的底层接入技术,以点对点的方式进行信息交互和资源共享。网络中所有节点地位相等,节点之间没有特定的角色区分(如服务器或客户机),每个节点在行为上是自由的,在功能上是平等的,节点既可以是资源的提供者也可以是资源的获取者。移动p2p网络将这些资源受限的移动设备组织起来相互协同工作,以达到最大化地利用网络边缘的资源的目的。移动p2p网络以无中心、自组织、易部署等特性,在资源共享、协同工作、多媒体传输、分布式存储等领域具有十分广阔的应用前景。
然而,随着移动p2p网络承载的业务多样化和个性化以及各类业务需求的日益增长,对网络所提供的服务质量要求也越来越高,需要考虑更多的qos(qualityofservice)因素,如时延、带宽、吞吐量等,以满足未来各类新型应用尤其是多媒体应用的需求。在移动p2p网络中,各个节点之间通过虚拟链路相连接,对于含有n个节点的移动p2p网络来说,理论上存在
技术实现要素:
有鉴于此,本发明公开了一种基于qos的移动p2p网络虚拟链路选取方法,充分考虑了虚拟链路的维护代价、稳定性、有效带宽等影响网络服务质量的关键因素,使整个网络在满足约束条件的前提下提高移动p2p网络性能,同时,也充分考虑了移动节点在计算能力、存储能力、电池电量等资源受限的现实情况,使移动p2p网络能够提供具有qos保证的服务。
为实现上述目的,本发明提供如下技术方案:
一种基于qos的移动p2p网络虚拟链路选取方法,包括以下步骤:
步骤s100,节点获取移动p2p网络标识;
步骤s200,建立网络拓扑结构;
步骤s300,计算虚拟链路维护代价;
步骤s400,计算虚拟链路稳定性;
步骤s500,计算虚拟链路有效带宽;
步骤s600,确定虚拟链路选取方法的约束条件;
步骤s700,确定移动p2p网络虚拟链路选取方案的目标函数;
步骤s800,对步骤s700给出的移动p2p网络虚拟链路选取方案的目标函数进行求解,求解方法包括但不仅限于蚁群算法、粒子群算法、模拟退火算法、遗传算法等;
步骤s900,根据步骤s800求出的虚拟链路选取方案,对移动p2p网络的虚拟链路进行选取。
优选地,所述步骤s100,当移动设备加入到移动p2p网络中时,移动设备需要获得一个全网唯一的移动p2p网络标识,该网络标识是一个总长度为m位的二进制位串,记做nid,nid由两部分组成,表示为:nid=(domain_id,node_id),获取nid的方法,进一步包括以下步骤:
步骤s110,domain_id是通过对移动设备所在的物理位置进行哈希运算后获得的长度为b位的二进制位串;
步骤s120,node_id是移动设备属性经过哈希函数运算后所获得的长度为f位的二进制位串,其中,移动设备属性可以是节点的mac地址、公钥、随机数或者它们的组合。
优选地,所述步骤s200,建立网络拓扑结构,进一步包括以下步骤:
步骤s210,节点周期性向周围邻居节点发送消息,收集与拓扑有关的信息,获取网络拓扑结构;
步骤s220,节点利用收集到的拓扑信息,生成一个无向图g(v,e,l);
其中,v={v1,v2,…,vn}表示网络中所有节点集合,n为网络节点个数,e表示边的集合,l表示所有节点之间全部虚拟链路的集合,记为:
l={lij|lij表示节点i与节点j之间全部虚拟链路的集合,i,j∈v}
其中,|lij|表示节点i和j之间虚拟链路条数;
步骤s300,计算虚拟链路维护代价,计算公式为:
其中,c(i,j)表示节点i和j之间虚拟链路的维护代价,n为节点个数;xk(i,j)表示虚拟链路选取标志函数,定义为:
其中,节点i,j∈v。
步骤s400,计算虚拟链路稳定性,计算公式为:
其中,s(i,j)表示虚拟链路稳定性,定义为节点i与节点j之间虚拟链路成功交互的次数与总交互次数的比值。
步骤s500,计算虚拟链路有效带宽,计算公式为:
其中,b(i,j)表示虚拟链路的有效带宽。
步骤s600,确定虚拟链路选取方法的约束条件,所述约束条件为:
其中,对于任意两个节点i,j∈v,至少要存在一条路径(i,i1,i2,…il,j),i1,i2,…il∈v且互不相同,l为i,j之间所经过的多个中继节点个数;xk(i,j)为虚拟链路选取标志函数的决策空间。
步骤s700,确定移动p2p网络虚拟链路选取方案的目标函数,目标函数公式为:
其中,c(i,j)表示虚拟链路的维护代价,s(i,j)表示虚拟链路稳定性,b(i,j)表示虚拟链路的有效带宽,n网络中节点个数,|lij|表示节点i和j之间虚拟链路的条数,xk(i,j)为虚拟链路选取标志函数,表示超级节点i和j之间的第k条虚拟链路被选取;
式(1)表示虚拟链路维护代价最小,式(2)表示虚拟链路稳定性最大,式(3)表示虚拟链路的有效带宽最大,式(4)、式(5)为约束条件,其中,式(4)表示网络应该是一个连通的网络,式(5)是变量xk(i,j)的决策空间。
优选地,所述步骤s800,对步骤s700给出移动p2p网络虚拟链路选取方案的目标函数进行求解,采取改进的蚁群算法对其进行求解,进一步包括以下步骤:
步骤s810,确定初始信息素分布规则,计算公式为:
其中,τ0是信息素初始分布矩阵,n为网络节点数目,d(i,j)表示节点i,j之间链路的距离,定义为链路维护代价、链路有效带宽、链路稳定性的加权和,计算公式为:
d(i,j)=a·c(i,j)+b·s(i,j)+c·b(i,j)
其中,c(i,j)表示虚拟链路的维护代价,s(i,j)表示虚拟链路稳定性,b(i,j)表示虚拟链路的有效带宽,a,b,c分别表示这三项的权重系数,且a,b,c满足以下计算公式:
a+b+c=1
步骤s820,下一节点状态转移规则,计算公式为:
其中,式(6)中,
d(i,j)=a·c(i,j)+b·s(i,j)+c·b(i,j)
其中,c(i,j)表示虚拟链路的维护代价,s(i,j)表示虚拟链路稳定性,b(i,j)表示虚拟链路的有效带宽,a,b,c分别表示这三项的权重系数,且满足a+b+c=1;
式(7)中,
步骤s830,信息素局部更新规则,计算公式为:
τij(t+1)=(1-ξ)τij(t)+ξτ0
其中,τij(t)为t时刻上虚拟链路(i,j)上的信息素浓度,ξ∈(0,1),
步骤s840,信息素全局更新规则,计算公式为:
τij(t+1)=(1-ρ)τij(t)+ρδτij(t)
其中,ρ∈(0,1)为信息素挥发系数,(1-ρ)表示信息素残留程度,δτij(t)表示本次循环中链路(i,j)的信息素增量总和,
其中,q是常数。
与现有技术相比,本发明具有以下优点:
1.本发明采取了一种新的基于地理位置的分段节点命名机制,根据节点物理位置对加入网络中的节点进行命名,这样使得物理位置邻近的节点在移动p2p网络中也具有邻近特性,可以有效解决由于拓扑不匹配导致的数据传输低效等问题,提高了移动p2p网络工作效率,提高了网络服务质量(qos)。
2.本发明考虑了虚拟链路的维护代价、稳定性以及带宽等影响移动p2p网络服务质量的重要因素,为用户在移动环境下提供增值的、具有良好qos保证的移动p2p网络业务提供了保障,有利于提高网络的可扩展性。
3.本发明采取了一种改进的蚁群算法对移动p2p网络虚拟链路选取方案进行求解,有效解决了已有方法中易于陷入局部最优解的缺陷,同时,提高了算法收敛速度。
4.本发明所公开的虚拟链路选取方法具有设计简单,适用于计算能力和电池电量受限等资源受限的移动终端设备。
附图说明
图1是本发明实施例的应用场景示意图;
图中:1-智能手机,2-平板电脑,3-笔记本电脑。
图2是本发明实施例的一种基于qos的移动p2p网络虚拟链路选取方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和实施例对本发明的技术方案进行清楚、完整地描述,需要说明的,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,本发明的应用场景为移动网络,移动网络中存在多个移动设备,移动设备可以是智能手机、平板电脑(pda)、笔记本电脑、个人数字助理(pda)等各类移动终端设备,这些移动终端设备间以无线(例如蓝牙、umb、lte、4g等)的方式进行通信。网络中所有移动终端设备地位相等,这些设备之间没有特定的角色区分(如服务器或客户机),且在行为上是自由的,在功能上是平等的。
需要说明的是,本发明实施例中使用的术语“节点”、“移动节点”、“网络节点”是指各种移动终端设备在移动p2p网络上的映射。
参照图2,本发明实施例一公开了一种基于qos的移动p2p网络虚拟链路选取方法,包括以下步骤:
步骤s100,节点获取移动p2p网络标识;
步骤s200,建立网络拓扑结构;
步骤s300,计算网络虚拟链路维护代价;
步骤s400,计算网络虚拟链路稳定性;
步骤s500,计算网络虚拟链路有效带宽;
步骤s600,确定虚拟链路选取方法的约束条件;
步骤s700,确定虚拟链路选取方案的目标函数;
步骤s800,对步骤s700给出的选取方案的目标函数进行求解;
步骤s900,根据步骤s800的求解结果选取虚拟链路。
本发明实施例二公开了一种基于qos的移动p2p网络虚拟链路选取方法,包括以下步骤:
步骤s100,为加入到移动p2p网络中的每一个移动设备分配全网唯一的移动p2p网络标识,该网络标识采取一种基于移动设备地理位置的分段标识方法,该网络标识是一个总长度为m位的二进制位串,记做nid,nid由两部分组成,表示为:nid=(domain_id,node_id),获取nid的方法,具体包括以下步骤:
步骤s110,domain_id是通过对移动设备所在的物理位置进行哈希函数(如sha-1,但不仅限于sha-1)运算后获得的长度为b位的二进制位串;
步骤s120,node_id是移动设备属性经过哈希函数(如sha-1,但不仅限于sha-1)运算后所获得的长度为f位的二进制位串,其中,移动设备属性包括但不仅限于节点的mac地址、公钥、随机数或者它们的组合。sha系列散列函数的哈希值长度通常大于160位,如此长的位数能够保证移动设备的网络标识几乎不可能出现重复,因此,可以认为是唯一的。
步骤s200,建立网络拓扑结构,具体包括以下步骤:
步骤s210,节点周期性向周围邻居节点发送消息,收集与拓扑有关的信息,获取网络拓扑结构;
步骤s220,节点利用收集到的拓扑信息,生成一个无向图g(v,e,l);
其中,v={v1,v2,…,vn}表示网络中所有节点集合,n为节点个数,e表示边的集合,l表示所有节点之间全部虚拟链路的集合,记为:
l={lij|lij表示节点i与节点j之间全部虚拟链路的集合,i,j∈v},
其中,|lij|表示节点i和j之间虚拟链路条数。
步骤s300,计算虚拟链路维护代价,计算公式为:
其中,c(i,j)表示节点i和j之间虚拟链路的维护代价,n为网络节点个数;xk(i,j)表示虚拟链路选取标志函数,定义为:
其中,节点i,j∈v。
步骤s400,计算虚拟链路稳定性,计算公式为:
其中,s(i,j)表示虚拟链路稳定性,定义为节点i与节点j之间虚拟链路成功交互的次数与总交互次数的比值。
步骤s500,计算虚拟链路有效带宽,计算公式为:
其中,b(i,j)表示虚拟链路的有效带宽。
步骤s600,确定虚拟链路选取方法的约束条件,所述约束条件为:
其中,对于任意两个节点i,j∈v,至少要存在一条路径(i,i1,i2,…il,j),i1,i2,…il∈v且互不相同,l为i,j之间所经过的多个中继节点个数;xk(i,j)为虚拟链路选取标志函数的决策空间。
步骤s700,确定移动p2p网络虚拟链路选取方案的目标函数,目标函数公式为:
其中,c(i,j)表示虚拟链路的维护代价,s(i,j)表示虚拟链路稳定性,b(i,j)表示虚拟链路的有效带宽,n网络中节点个数,|lij|表示节点i和j之间虚拟链路的条数,xk(i,j)为虚拟链路选取标志函数,表示超级节点i和j之间的第k条虚拟链路被选取;
式(1)表示虚拟链路维护代价最小,式(2)表示虚拟链路稳定性最大,式(3)表示虚拟链路的有效带宽最大,式(4)、式(5)为约束条件,其中,式(4)表示网络应该是一个连通的网络,式(5)是变量xk(i,j)的决策空间。
步骤s800,对步骤s700给出的移动p2p网络虚拟链路选取方案的目标函数进行求解,求解方法包括但不仅限于蚁群算法、粒子群算法、模拟退火算法、遗传算法等。
优选地,一种采取改进蚁群算法对移动p2p网络虚拟链路选取方案进行求解的具体实施方式为:
步骤s810,确定初始信息素分布规则,计算公式为:
其中,τ0是信息素初始分布矩阵,n为网络节点数目,d(i,j)表示节点i,j之间链路的距离,定义为链路维护代价、链路稳定性、链路有效带宽的加权和,计算公式为:
d(i,j)=a·c(i,j)+b·s(i,j)+c·b(i,j)
其中,c(i,j)表示虚拟链路的维护代价,s(i,j)表示虚拟链路稳定性,b(i,j)表示虚拟链路的有效带宽,a,b,c分别表示这三项的权重系数,且a,b,c满足以下计算公式:
a+b+c=1
改进蚁群算法采用了新的信息素初始分布矩阵,可以有效减少基本蚁群算法因首次选择较短路径而容易陷入局部最优解的概率。
步骤s820,下一节点状态转移规则,计算公式为:
其中,式(6)中,
d(i,j)=a·c(i,j)+b·s(i,j)+c·b(i,j)
其中,c(i,j)表示虚拟链路的维护代价,s(i,j)表示虚拟链路稳定性,b(i,j)表示虚拟链路的有效带宽,a,b,c分别表示这三项的权重系数,且满足a+b+c=1;
式(7)中,
步骤s830,信息素局部更新规则,计算公式为:
τij(t+1)=(1-ξ)τij(t)+ξτ0
其中,τij(t)为t时刻上虚拟链路(i,j)上的信息素浓度,ξ∈(0,1),
步骤8840,信息素全局更新规则,计算公式为:
τij(t+1)=(1-ρ)τij(t)+ρδτij(t)
其中,ρ∈(0,1)为信息素挥发系数,(1-ρ)表示信息素残留程度,δτij(t)表示本次循环中链路(i,j)的信息素增量总和,
其中,q是常数。
步骤s900,根据步骤s800确定的虚拟链路选取方案,对移动p2p网络的虚拟链路进行选取。
本发明实施例首先根据节点物理位置以及设备属性获得网络唯一标识;建立网络拓扑结构;然后,通过计算虚拟链路维护代价、稳定性、有效带宽等影响网络服务质量的关键因素,确定虚拟链路选取的约束条件和目标函数;再次,对虚拟链路选取方案进行求解;最后,按照求解结果选取移动p2p网络虚拟链路。本发明实施例充分考虑了移动节点资源受限的特点,具有方法简单,可实施性强等特点,模型求解算法有效避免了易陷入局部最优解的缺陷,并提高了算法收敛速度,最终在达到预期效果的同时大大提高了移动p2p网络服务质量,提高了网络可扩展性和网络工作效率。
最后应当说明的是:以上所述的实施例仅仅是对本发明一种基于qos的移动p2p网络虚拟链路选取方法的优选实施方式进行描述,并非对本发明的构思和范围进行限定;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。