[发明专利]一种最大优先级队列的设计方法在审
申请号: | 201410228594.1 | 申请日: | 2014-05-28 |
公开(公告)号: | CN103986668A | 公开(公告)日: | 2014-08-13 |
发明(设计)人: | 范明彬;张在贵 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | H04L12/865 | 分类号: | H04L12/865;H04L12/863 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 最大 优先级 队列 设计 方法 | ||
技术领域
本发明是一种优先级队列设计方法,本优先级队列设计方法用于解决在数据通信过程中,因系统处理大量数据不及时,导致网络拥塞的问题。通过该设计方法,实现优先级队列与配额的结合应用。
技术背景
队列是一种满足先进先出(FIFO)的数据结构,数据从队列头部取出,新的数据从队列尾部插入,数据之间是平等的,不存在优先级的。这个就类似于普通老百姓到火车站排队买票,先来的先买票,每个人之间是平等的,不存在优先的权利,整个过程是固定不变的。而优先级队列可以理解为在队列的基础上给每个数据赋一个权值,代表数据的优先级。与队列类似,优先级队列也是从头部取出数据,从尾部插入数据,但是这个过程根据数据的优先级而变化的,总是优先级高的先出来,所以不一定是先进先出的。这个过就类似于买火车票时候军人比普通人优先买,虽然军人来的晚,但是军人的优先级比普通人高,总是能够先买到票。通常优先级队列用在操作系统中的多任务调度,任务优先级越高,任务优先执行(类似于出队列),后来的任务如果优先级比以前的高,则需要调整该任务到合适的位置,以便于优先执行,整个过程总是使得队列中的任务的第一任务的优先级最高。
配额在本专利中是指对于优先级队列中的子优先级队列每次可发送的数据长度。
发明内容
一种优先级队列设计方法,本发明涉及一种最大优先级队列的设计实现方法,该优先级队列在出队时,总是对应优先级最大的数据出队。该方法同时将配额与优先级队列紧密的结合在一起,使得该优先级更智能的处理数据队列,从而提高数据处理的效率。
(1)该设计方法主要有两个队列组成,一级优先级队列(queue)和子队列(subqueue),每个一级优先级队列数据包含一个子队列,一级队列为优先级队列,使得高优先级的数据可以提前出列,子队列用来控制配额大小,使得该队列中所有数据不会因为优先级过低而处于一直等待的状态。
(2)本方法的设计思想为:数据入队可选择从前入队或者从尾部入队两种方式,当优先级队列中的数据出队时,首先从queue中优先级最高的数据出队,遍历该subqueue 配额token大小,若其配额大于数据长度,则直接出队。并根据子队列(subqueue)优先级和数据长度重新计算其余子队列的配额大小;若子队列(subqueue)中的配额小于其数据长度,则按照严格的优先级进行出队,并动态计算各个子队列中配额的大小(根据本次所发的数据长度和子队列的优先级等进行计算)。
(3)根据(2)的设计思想,设计queue的数据结构如下:
map<unsigned, SubQueue> Queue
其中unsigned为该数据的优先级,SubQueue为子优先级队列。
根据(2)的设计思想和queue数据结构,设计subqueue的数据结构如下:
map<K, list<pair<unsigned, T> > >
其中K为标示该连接唯一的ID,unsigned为数据的配额(token)大小,在数据中则为数据的字节长度。T为具体的数据。
根据前面的设计方法,设定其计算配额(token)的方法,默认配额均为0,配额的计算公式如下:
token+=(priority*msg_len/total_priority+1)
其中token为优先级队列中当前数据的配额大小,priority为当前优先级数据的优先级大小,msg_len为当前出队的数据长度,total_priority为当前优先级队列总的优先级大小之和。
本发明的优异效果如下:提出优先级队列的优化方案,实现优先级队列与配额的结合应用,解决在数据通信过程中,因系统处理大量数据不及时导致网络拥塞的问题,同时提高了系统的承载能力和处理能力,充分发挥系统的性能,有效提高系统在长时间高负载的下的承载能力和数据处理能力,该优先级队列在出队时,总是对应优先级最大的数据出队,同时将配额与优先级队列紧密的结合在一起,使得该优先级更智能的处理数据队列,从而提高数据处理的效率。
附图说明
图1是数据入队方式;
图2是数据出队方式。
具体实施方式
下面参照附图,对本发明的内容以一个具体实例来描述实现这一设计方法的实现过程。
正如发明内容中所描述的,本发明是一种优先级队列的设计方法,它与配额紧密的结合在一起,从而更加智能的处理队列中的数据,防止优先级别低的数据一直处于等待状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410228594.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于溶液调温调湿机组的水分布器
- 下一篇:聚酯切片输送机上的干燥预结晶箱