[0055] 本发明的优点在于:
[0056] 1)、一种基于业务优先级的无线多媒体传感器网络资源调度算法,可以将数学模型的枚举问题变成低复杂度的问题,加快了处理速度。
[0057] 2)、一种基于业务优先级的无线多媒体传感器网络资源调度算法,相比现有算法,有效的保证多媒体业务的QoS需求,同时使系统吞吐量达到最大。
附图说明
[0058] 图1是本发明建立的基于业务优先级的无线多媒体传感器网络模型示意图;
[0059] 图2是本发明基于业务优先级的无线多媒体传感器网络资源调度算法
流程图;
[0060] 图3是本发明为每个匹配好的多媒体节点分配剩余子载波的方法流程图;
[0061] 图4是本发明为对每个数据节点分配剩余子载波方法流程图;
[0062] 图5是本发明两种算法下网络吞吐量与传感器节点数量曲线图;
[0063] 图6是本发明两种算法下多媒体用户满意度与传感器节点数量的关系图;
[0064] 图7是本发明两种算法下多媒体节点平均接入速率与传感器节点数量曲线图;
[0065] 图8是本发明两种算法下系统公平性与传感器节点数量曲线图。
具体实施方式
[0066] 下面结合附图,对本发明的具体实施方法进行详细说明。
[0067] 本发明一种基于业务优先级的无线多媒体传感器网络资源调度算法,对无线多媒体传感器网络进行资源分配,区分了多媒体业务以及数据业务,保证了多媒体业务的QoS需求和传输质量,并使网络系统获得较大吞吐量,为了满足多媒体节点的最高速率,尽量增加数据节点的占有速率。
[0068]
现有技术中,通常建立的数学模型如下:
[0069] max t
[0070]
[0071]
[0072]
[0073]
[0074] S1∩S2=Φ,S1∪S2={1,...K}
[0075] S1为数据节点集合;S2为多媒体节点集合;N为子载波的数量,N={1,2,...,n};K为传感器节点的数量,K={1,2,...,k};K≤N;ρk,n表示子载波分配参数;子载波n与传感器节点k对应传输的数据速率为Rk,n;传感器节点k需要的需求传输速率为Rk need;
[0076] 显然,数学模型是一个NP-hard问题;理论上,该类NP-hard优化问题采用穷举法,最优解需要将所有子载波的分配方案进行比较,其算法的计算量和高复杂度不可能满足资源分
配对实时性的要求,对于计算能力有限的无线多媒体传感器网络,必须使用低复杂度的次优算法。
[0077] 本发明建立网络模型如图1所示,无线多媒体传感器网络中包括:sink节点作为中心节点连接网关;以sink节点为中心连接数据节点和多媒体节点,形成一个簇,中心节点与各传感器节点通过OFDMA进行通信。
[0078] 进行资源分配的设计时基于如下假设:
[0079] (1)所有传感器节点部署后不再移动;
[0080] 无线多媒体传感器网络共有K个传感器节点和一个中心节点,K个传感器节点连接一个中心节点,中心节点接收每个传感器节点的状态信息,每个中心节点和连接它的传感器节点组成一个簇;
[0081] (2)传感器节点的
位置信息以及信道状态信息能够完全反馈给中心节点;
[0082] (3)无线信道为
频率选择性慢衰落信道,各个子载波之间存在差异性,在一个资源分配周期内,信道状态信息保持不变。
[0083] 无线多媒体传感器网络中共有N个子载波,总带宽为B;每个子载波的带宽均为B/N,远远小于无线信道的相干带宽,因此每个子载波都经历平坦衰落。
[0084] (4)网络中所有的传感器节点都是工作在半双工模式,即不能同时接收和发送。
[0085] (5)每个传感器节点可以分配到多个子载波,但每个子载波只能分配给一个传感器节点。
[0086] 本发明假设功率在各子载波上均分;其次需要对上报信息,
请求子载波分配的节点进行限制,当上报节点的数量超过子载
波数量时,挑选前N个节点进行子载波分配,其余节点进入休眠状态,等待下一个周期的到来。
[0087] 如图2所示,具体步骤如下:
[0088] 步骤一、初始化无线多媒体传感器网络的子载波与各传感器节点之间的信道参数;
[0089] 无线多媒体传感器网络共有N个子载波和K个传感器节点,子载波的集合所有传感器节点的集合K={1,2,...,k};K≤N;一个子载波只能连接一个传感器节点,一个传感器节点至少连接一个子载波或者不连接子载波。
[0090] 信道参数共有为K×N个数据速率R:子载波n与传感器节点k对应传输的数据速率Rk,n;当子载波n分配给簇内某个传感器节点k时,标记子载波分配参数ρk,n=1;否则,ρk,n=0;
[0091] 步骤二、对K个传感器节点进行分类,分别为数据节点和多媒体节点;
[0092] 判断传感器节点k中的数据时效性Dk与Dk(t)的差值是否大于等于阈值Dthreshold,即是否满足:Dk-Dk(t)≥Dthreshold;如果是,认为业务为并不紧急的数据业务,则传感器节点k属于数据节点;否则,认为数据为紧急业务,传感器节点k属于多媒体节点;
[0093] Dk为传感器节点k中的数据允许等待的最长时间;节点中的数据都有有效时间,也就是允许最长的等待时间,超过这个时间没有发送出去,数据就没有时效性,被丢弃。Dk(t)为传感器节点k中的数据在队列中存在的时间;Dthreshold为整个网络的多媒体业务阈值;
[0094] 数据节点集合设为S1,只需考虑节点传输的速率以及节点的丢包率;多媒体节点集合为S2,需要考虑端到端时延。
[0095] 步骤三、根据信道参数对每个多媒体节点各自分配一个子载波;
[0096] 针对某个多媒体节点i,将多媒体节点i对应的所有子载波的数据速率Ri,n值降序排列,选取最大值分配给该多媒体节点i,并标记ρi,n=1;令多媒体节点i的数据占有速率Ri occupy与数据速率Ri,n值相同,Ri occupy=Ri,n。
[0097] 同理依次选取剩余的所有多媒体节点,将每个多媒体节点对应的所有剩余子载波的数据速率值降序排列,选取最大值分配给该多媒体节点;直至将所有多媒体节点均分配子载波。
[0098] 步骤四、将所有多媒体节点分配完子载波后,判断子载波是否有剩余,如果有,进入步骤五,否则结束;
[0099] 步骤五、在剩余的子载波中为每个匹配好的多媒体节点各选取一个最大数据占有速率,使每个多媒体节点达到最高速率。
[0100] 针对匹配好的多媒体节点,分别计算各自的数据速率R与需求传输速率Rk need之间的差值,选取最大差值的多媒体节点j,在剩余的子载波中选取最大的数据速率Rj值,并将对应的子载波m分配给多媒体节点j;
[0101] 如图3所示,具体步骤如下:
[0102] 步骤501、针对匹配好的多媒体节点,分别计算各多媒体节点的需求传输速率;
[0103] 多媒体节点i一个时隙内需要的需求传输速率Ri need值计算如下:
[0104] Ri need=Bi(t)/(Di-Di(t))
[0105] Bi(t)为多媒体节点i中需要传输的数据长度,也就是还需要传输的数据量。Di-Di(t)表示需要传输的数据要失效被丢弃前的剩余时间,也就是这些数据还有多长时间就要失效被丢弃;需求传输速率Ri need值表示多媒体节点中的多媒体数据需要传送的平均传输速率。
[0106] 步骤502、计算各多媒体节点的数据占有速率值与需求传输速率值之间的差值;
[0107] 多媒体节点i的数据占有速率值Ri occupy与需求传输速率值Ri need之间的差值Ri gap计算如下:
[0108]
[0109] max(Ri)为多媒体节点i在剩余子载波中最大的数据速率。
[0110] 步骤503、将所有差值降序排列,选取出最大差值对应的多媒体节点j;
[0111] 步骤504、针对多媒体节点j,从该多媒体节点j对应的剩余子载波中选取最大的数据速率Rj值,并将对应的子载波m分配给多媒体节点j,并标记ρj,m=1;
[0112] 步骤505、针对多媒体节点j,根据最大数据速率Rj值,计算该多媒体节点j已分配到的数据占有速率之和Rj occupy;
[0113]
[0114] 步骤506、判断子载波是否还有剩余,如果有,进入步骤507;否则,分配过程结束;
[0115] 步骤507、更新多媒体节点j的数据占有速率值,并判断是否每个多媒体节点都达到需求传输速率,如果是,结束;否则,返回步骤502。
[0116] 直到多媒体节点均达到其最小速率要求或没有剩余子载波,则多媒体节点子载波分配完毕。
[0117] 步骤六、判断每个多媒体节点达到需求传输速率后,子载波是否还有剩余,如果有,进入步骤七对数据节点分配子载波;否则,分配过程结束;
[0118] 步骤七、采用贪婪算法,根据信道参数对每个数据节点分配剩余子载波,直至将数据节点都分配完。
[0119] 如图4所示,具体步骤为:
[0120] 步骤701、更新所有数据节点的数据占有速率为0;
[0121] 针对数据节点k的数据占有速率Rk occupy=0;
[0122] 步骤702、分别计算各数据节点需要的需求传输速率值;
[0123] 数据节点k一个时隙内需要的需求传输速率值Rk need计算如下:
[0124] Rk need=Bk(t)/tslot
[0125] Bk(t)为数据节点k中需要传输的数据长度;tslot表示一个调度周期的时间。
[0126] 步骤703、将每个数据节点初始化的信道参数值降序排列,选取最大值对应的子载波n分配给对应的数据节点l,并标记ρl,n=1;
[0127] 针对所有Rk occupy
[0128] 步骤704、更新数据节点l已分配到数据占有速率之和Rl occupy;
[0129]
[0130] 步骤705、判断子载波是否有剩余,如果有,进入步骤706;否则,分配过程结束。
[0131] 直到数据节点均达到其需求传输速率要求或没有剩余子载波,则数据节点子载波分配完毕,整个子载波分配过程结束。
[0132] 步骤706、判断是否存在数据节点满足Rk occupy
[0134] 仿真场景设置为无线多媒体网络的常用仿真网络配置。节点均匀随机分布在300m*300m矩形区域内,中心节点位于整个网络的中心位置,传感器节点均匀分布在整个区域中,其中20个为多媒体传感器节点,剩下为数据节点。整个系统共有1MHz
频谱资源,无线信道采用频率选择性瑞利衰减模型的
瑞利衰落信道,采用6径模型,信道的最大时延为5us,最大多普勒频移为30Hz;系统的调度周期定为0.5ms,多媒体业务阈值定为5ms。详细的仿真参数如表1所示:
[0135] 表1
[0136]
[0137]
[0138] 本发明从多媒体业务的传输速率,用户满意度,系统的吞吐量,网络公平性等几方面来进行仿真分析,通过调整数据节点的数量,来检验网络的性能。
[0139] 如图5所示,描述的是传统的MAX-MIN算法与改进的子载波分配算法,两种算法在不同的传感器节点数量下,整个网络的吞吐量的变化情况。图中的横坐标表示数据节点的数量。从图中可以看出,当数据节点增多时,整个网络的吞吐量会增加。当数据节点的数量不多时,整个网络的负载并不严重,网络的吞吐量受限于节点所采集到的数据量,所以两种算法并没有明显的差异。当数据节点不断增大,整个网络的负载也会加重,两种算法的系统吞吐量发生的差异。由于MAX-MIN算法并没有多媒体业务以及数据业务的区分,而本发明的算法,在满足多媒体节点的速率后,对数据节点采用贪婪算法选择子载波,提升系统的吞吐量。可知,网络负载较重的时候,本发明的算法拥有更好的系统吞吐量。
[0140] 如图6所示,表示数据节点的数量不同对多媒体用户速率满意度的影响。图中的横坐标表示网络中数据节点的数量,对于多媒体节点i,定义多媒体业务的满足度函数如式:
[0141]
[0142] 从仿真结果可以看出,网络负载较低时,两种算法都可以基本满足多媒体业务的需求,当网络负载加重时,可以看出有业务优先级的子载波分配算法更能满足多媒体节点的需求。因为本发明提出的算法首先为每个节点预留一个子载波,保证数据的基本发送,随后为多媒体节点分配子载波,尽力满足每个节点的要求后再去分配子载波给数据节点。从仿真图中还可以看出,随着传感器节点数目的增加,用户满意度呈现一个下降的趋势,这是因为节点数目越多用户实际得到的数据传输速率越小,用户满意度下降。
[0143] 本发明还同时对多媒体业务的平均速率进行了仿真,仿真结果如图7所示,从仿真结果可以看出,应用业务优先级子载波分配算法的网络中,多媒体节点的速率明显高于使用MAX-MIN算法的平均速率。因为本文提出的算法,依据网络需要传输数据的时延要求以及数据在队列中等待的时间,计算出数据的紧急程度,将数据区分为多媒体业务以及数据业务。本发明提出的算法优先为多媒体节点分配资源以保证多媒体业务的QoS需求,而传统的MAX-MIN算法并没有考虑对于多媒体业务以及数据业务的区分,对所有节点分配子载波,保证所有节点的公平性。因此本发明提出的算法拥有更好的多媒体业务传输性能。
[0144] 之后对整个网络的公平性进行评价,公平性指标是来衡量系统内所有用户得到通信网络服务之间的差异性。实际应用中有两种表示公平性的方式:一种是通过系统中所有用户最小吞吐量与最大吞吐量的比值判定
[0145] 如图8所示,可以看出两种算法都拥有较好的公平性。由于本发明提出的算法将节点进行分级,优先满足多媒体节点的业务需求,分配完成后才考虑数据节点。同时在为数据节点分配时,更多的考虑系统的吞吐量,采用了贪婪算法。因此本发明提出算法的公平性比MAX-MIN算法的公平性略有下降。