- UID
- 1023166
- 性别
- 男
- 来自
- 燕山大学
|
2.2 请求分类缓冲过程
请求分类缓冲过程用于对获取节点请求列表过程中接收到的所有节点的请求状态信息进行区分优先级的缓冲,并统计各个优先级的请求数以及总的请求数。此过程的关键内容是网控中心具有一个总请求状态信息缓冲区,其为每个优先级准备一个独立的请求状态信息队列,包含不同优先级信息的请求将缓存到对应优先级的队列中。请求分类缓冲过程如图3所示。
图上的n表示节点总数,优先级数目示例为3个,NULL表示该节点的请求已经分类完或者该节点没有任何请求。从该图可以看出请求分类缓冲过程是将各节点的请求状态信息列表依次拆解为数个请求状态信息,并按照它们的优先级分别缓存到对应的优先级队列中。
请求分类缓冲过程:在网控中心获得所有节点请求状态信息后,算法按照一定的顺序依次处理每个节点的所有请求状态信息。判断是否有节点的请求还未处理完毕,是的话取得一个未处理的节点的所有请求状态信息,根据该请求状态信息的优先级序号将其缓存对应的优先级队列中适当位置,对应优先级的请求计数器和总请求计数器分别加1。当所有节点的请求均分类缓冲完成,整个过程结束。
2.3 请求队列截取过程
请求队列截取过程使用请求分类缓冲过程生成的总请求状态信息缓冲区和请求计数器值,在缓冲区中的请求总数大于数据时隙能够提供的最大发送机会时执行。
发送机会是指能够满足节点进行一次完整发送过程的时机,在多信道环境下为某一信道上的某一数据时隙,可用二元组<时隙,信道>表示。最大发送机会是指多信道环境下所有数据时隙能够提供的发送机会的总和,即最大发送机会=数据时隙数×信道数,它代表了当前时帧结构下全网络一帧能够提供给节点的最大发送次数。当总请求数超过最大发送机会时,当前的请求中将会有一部分得不到满足。请求队列截取过程即是用来决定哪些请求能够被满足,哪些需要被丢弃。采取优先级比例预留进行请求队列的截取。算法事先配置并存储好优先级预留比例数据,用于计算预留给对应优先级的发送机会数。
例如,3个优先级算法,优先级从高到底(优先级号从0到2)的预留比例配置为:1.0、0.6、0.3。其中最高优先级0的比例是1.0,表示该优先级为强制满足的优先级,属于该优先级的请求应该在截取过程中尽量保留而不被丢弃;优先级1和优先级2的比例都小于1,表示它们需要进行正常的按比例截取。通过上述优先级比例预留策略,可以限制各个优先级在网络繁忙时占用的带宽上限,以此实现了优先级带宽按比例预留的要求。
请求队列截取过程:请求分类缓冲过程执行完毕后,所有节点请求已经缓存到对应优先级队列中。判断请求总数是否大于最大发送机会数,如果是则使用优先级预留比例,计算出各个优先级超出预留发送机会的个数。依次截取(丢弃)各个优先级中超出预留发送机会数的那一部分请求。当各个优先级的实际请求数的超额部分已经全部截取完毕,但此时如果总数仍然大于发送机会数,则需要进一步截取。当各个优先级能够满足的请求个数之和已经等于或小于最大发送机会数,无需再截取。记录截取结束,结果供资源分配过程使用,过程结束。
2.4 资源分配过程
资源分配过程使用请求队列截取过程截取后的各个优先级的实际发送机会数,从最高优先级开始依次为每个优先级分配数量等于该优先级的剩余请求个数的二元组<时隙,信道>资源,并在分配过程中进行收发控制。
资源分配策略是指为各个优先级的剩余请求分配MAC资源时所采取的策略。从区分优先级的服务角度来看大体可分为两种策略:间隔分配策略和连续分配策略。由于间隔分配策略是同一优先级的请求间隔发送,可以在一定程度上减少突发信道干扰对某一优先级数据的影响,因此我们采用间隔分配策略。间隔分配策略即将各个优先级的请求以间隔的方式依次分配到各个时隙中。分配后各个优先级的请求比较“均匀”地分布在时帧中,高优先级和低优先级请求的发送顺序没有明显地被区别对待。
节点收发控制用于限制节点在同一个时隙中接收和发送的数据流数。多信道环境下,节点可以在一个时隙内使用不同的信道同时进行数个收发过程。假设网络具有5个不同子频率所对应的信道,则理论上一个节点可以在同一时隙接收或发送5路数据流。这违背了节点的物理设备的“四收一发”限制,即一个节点在同一时隙内最多只能接收4路同时发送1路数据。所以需要在资源分配的时候在每个时隙上控制节点的收发次数。为此,资源分配过程通过网控中心维护一个记录节点收发状态信息的数据结构,称为“节点收发状态表”。网控中心在进行资源分配的时候便可以根据其中内容判断是否将当前请求分配到某个时隙上。
资源分配过程:请求队列截取过程执行完毕后,网控中心已经知道了为各个优先级实际提供的发送机会数。初始化“节点收发状态信息表”,之后,按照各个优先级实际提供的发送机会数请求分配<时隙,信道>二维资源。如果当前缓冲区中还有请求没有被分配,且还有可用数据时隙,则按照从高优先级到低优先级的顺序,循环取到某个优先级的请求队列。若该优先级已经被分配的请求个数达到了实际提供的发送机会数,该优先级仍有未被分配的请求且当前还有空闲信道,则获取该优先级请求队列的一个未被分配资源的请求。判断该请求分配到当前时隙上是否满足节点收发控制的要求,如果满足就为该请求分配当前时隙上的一个空闲信道,并将请求的部分信息以及分配到的<时隙,信道>资源保存为资源分配结果;否则暂时“跳过”该请求。空闲信道标号超出信道数范围,表示当前时隙上所有信道资源已经被分配完毕,将可用时隙标号增加1以指向下一个可用时隙。当所有的请求都已经被分配资源,或者已经没有可用的数据时隙,资源分配过程结束。源分配过程如图4所示。
|
|