CN103338159B - 轮询调度实现方法和装置 - Google Patents
轮询调度实现方法和装置 Download PDFInfo
- Publication number
- CN103338159B CN103338159B CN201310244413.XA CN201310244413A CN103338159B CN 103338159 B CN103338159 B CN 103338159B CN 201310244413 A CN201310244413 A CN 201310244413A CN 103338159 B CN103338159 B CN 103338159B
- Authority
- CN
- China
- Prior art keywords
- queue
- polling dispatching
- information
- mapping
- loc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种轮询调度实现方法和装置。方法包括获取队列中各元素在队列中的原始位置信息;对队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。本发明实施例提供的轮询调度实现方法和装置,可以降低存储设备成本,且能确保对业务队列元素调度的均衡性。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种轮询调度实现方法和装置。
背景技术
轮询调度是一种采用轮询方法对业务队列中的元素进行调度的调度方式。为确保对业务队列中的元素轮询调度的均衡性,需要记录每次轮询调度结束时被调度元素的位置信息,以将该位置后的下一位置作为下次轮询调度的开始位置。
在实际应用中,通常一项应用业务对应有多个业务队列,且每个业务队列中又包含多个业务元素。现有技术中,在对每个业务队列内的业务元素进行轮询调度时,通常为每个业务队列分配一个存储单元。例如在路由器应用中,一个路由器需要对多个用户的业务进行流量管理,每个用户的业务又包括多种业务流,为了确保对每个用户的服务质量,采用轮询调度方式在每个用户内部的多种业务流之间进行带宽的分配,假设一个路由器可以同时支持64K(64*1024)个用户使用,每个用户具有8种业务流,那么,就需要为每个用户分配一个3bit的存储单元,64K个用户共需要64K个3bit的存储单元。
因此,现有技术提供的这种轮询调度实现解决方案,当用户数量较大时,需要大量的存储单元来保存相应轮询调度的结束位置信息,存储设备成本高。
发明内容
本发明实施例提供一种轮询调度实现方法和装置,用以降低存储设备成本。
第一方面,本发明实施例提供一种轮询调度实现方法,包括:
获取队列中各元素在所述队列中的原始位置信息;
对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;
按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。
在第一方面的第一种可能的实现方式中,对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息包括:
采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,包括:
按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;
根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置;
将所述临时位置的二进制数中的高位去除,保留n位比特;
将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
在第一方面的第三种可能的实现方式中,所述按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度,包括:
按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
在第一方面的第四种可能的实现方式中,在所述执行轮询调度之后,还包括:
对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
第二方面,本发明实施例提供一种轮询调度实现装置,包括:
位置获取模块,用于获取队列中各元素在所述队列中的原始位置信息;
位置映射模块,用于对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;
轮询调度模块,用于按照各元素的映射位置信息所对应的映射队列顺序,从设定初始位置所对应的元素开始,执行轮询调度。
在第二方面的第一种可能的实现方式中,所述位置映射模块,具体用于采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述位置映射模块,包括:
选择单元,用于按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;
计算单元,用于根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置;
比特去除单元,用于将所述临时位置的二进制数中的高位去除,保留n位比特;
倒置单元,用于将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
在第二方面的第三种可能的实现方式中,所述轮询调度模块,具体用于按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
在第二方面的第四种可能的实现方式中,所述装置还包括:
位置还原模块,用于对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
结果获得模块,用于基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
本发明实施例提供的技术方案,通过获取队列中各元素在所述队列中的原始位置信息,并对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,然后按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。由于不需要对轮询调度元素的位置信息进行存储记录,因此,降低了存储设备成本,且由于设定算法或算法采用的参数在不断变化,因此映射位置不断变化,能确保对队列元素调度的均衡性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明轮询调度实现方法实施例一的流程图;
图2为本发明轮询调度实现方法实施例二的流程图;
图3~图6为业务队列元素位置映射的示意图;
图7为本发明轮询调度实现装置实施例一的结构示意图;
图8为本发明轮询调度实现装置实施例二的结构示意图;
图9为本发明实施例提供的网元设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例一
图1为本发明轮询调度实现方法实施例一的流程图。本实施例的轮询调度实现方法适用于对需要被调度的队列中的元素执行轮询调度的应用中,该方法可以由轮询调度实现装置来执行,该轮询调度实现装置可以集成在路由器中,也可以由其他独立网元设备承载。如图1所示,本实施例的方法可以包括:
S101、获取队列中各元素在所述队列中的原始位置信息。
轮询调度实现装置在对于队列中的元素执行轮询调度时,首先获取业务队列中各元素在业务队列中的原始位置信息,例如,可以为元素在队列中的队列序号。
S102、对队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化。
具体的,可以采用诸如随机算法的位置映射处理算法,对队列中各元素的原始位置信息进行位置映射,使队列中各元素映射到不同的位置上。可以使得每次轮询调度采用的算法按照规律变化,也可以是算法的参数按照规律变化,对于随机算法而言,可以是使随机数按照规律变化。
S103、按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。
在对队列中各元素的原始位置信息进行位置映射处理后,基于队列中各元素的映射位置信息,对队列元素执行轮询调度。具体的,每次对队列元素执行轮询调度,可以选择设定的调度位置,因此,不需要对轮询调度元素的位置信息进行存储记录。本实施例的技术方案尤为适用于业务队列,例如,在路由器的应用场景中,对用户的业务流队列元素进行轮询调度。由于每次执行轮询调度前,都对业务队列中各元素的原始位置信息进行位置映射处理,而且采用的算法或参数是按照设定规律变化的,所以可以得到不同的映射队列,因此,能够确保对队列元素调度的均衡性。
本实施例中,通过获取队列中各元素在所述队列中的原始位置信息,并对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,然后按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。由于不需要对轮询调度元素的位置信息进行存储记录,因此,降低了存储设备成本,且能确保对队列元素调度的均衡性。
如上所述的轮询调度实现方法,其中,对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息包括:
采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
具体的,可以采用硬件易于实现的随机算法,对队列元素的位置进行随机化处理,即在每次轮询调度前,利用随机算法将队列中的各元素随机映射到不同的位置上,并基于映射位置信息执行轮询调度。还可以通过采用在随机算法中使用不同的随机数,使每次映射得到的队列元素的映射位置序列都不相同,进而确保了对队列元素调度的均衡性。
本实施例中,通过采用随机算法对队列中各元素的原始位置信息进行位置映射处理,得到队列中各元素的映射位置信息,并基于队列中各元素的映射位置信息,对队列元素执行轮询调度,不但不需要对轮询调度元素的位置信息进行存储记录,而且由于每次使用随机算法进行位置映射处理时可以采用不同的随机数,使每次映射得到的队列元素的映射位置序列都不相同,使得本实施例提供的技术方案,不但能够降低存储设备成本,而且能确保对队列元素调度的均衡性。
如上所述的轮询调度实现方法,其中,所述按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度,包括:
按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
具体的,每次执行轮询时,都基于业务队列元素的映射位置顺序,从队列起首位置元素开始执行轮询调度,典型的是每次仅调度一个元素内部保存的业务或报文,若起首位置内部当前没有业务或报文,则顺延至下一个映射位置查找该元素内部是否保存有业务或报文需要调度。对于已调度的元素,可由后续来的需调度的业务、报文等来填充此位置的元素内。由于每次位置映射处理得到的映射队列都不相同,可以通过调整映射处理算法,使映射后的映射队列内各位置的元素随机变化,因此,能够确保对队列元素调度的均衡性。
方法实施例二
图2为本发明轮询调度实现方法实施例二的流程图。如图2所示,本实施例的方法可以包括:
S201、获取队列中各元素在所述队列中的原始位置信息。
具体的,S201的执行方法与上述轮询调度实现方法实施例一中的S101的执行方法类似,此处不再赘述。
S202、对队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息。
具体的,S202的执行方法与上述轮询调度实现方法实施例一中的S102的执行方法类似,此处不再赘述。
S203、按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。
具体的,S203的执行方法与上述轮询调度实现方法实施例一中的S103的执行方法类似,此处不再赘述。
S204、对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
轮询调度实现装置基于队列元素的映射位置对队列元素执行轮询调度,在完成调度后,可以通过位置映射处理算法的逆向运算重新获得被调度元素的原始位置信息。
S205、基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
轮询调度实现装置基于队列元素的映射位置对队列元素执行轮询调度后,则需要基于轮询调度元素的真实位置信息,呈现对业务队列元素的轮询调度结果。例如在路由器应用中,当根据映射位置获取原始位置之后,将原始位置告知给路由器,路由器可对此原始位置的元素执行发送操作。轮询调度结果就是某个用户的某种业务流,路由器就会基于轮询结果把该业务流从路由器的输入口送到路由器的输出口。
本实施例中,在完成对队列元素的轮询调度后,通过将轮询调度元素的映射位置信息进行位置还原处理,从而实现基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果,由于不需要对轮询调度元素的位置信息进行存储记录,因此,降低了存储设备成本,且能确保对队列元素调度的均衡性。
方法实施例三
本实施例中,轮询调度实现装置在获取队列中各元素在队列中的原始位置信息后,将利用随机算法对队列中各元素的原始位置信息进行位置映射处理。下面将结合具体实例加以说明。
优选地,首先按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;
例如,假设需要对包含有2n个元素的队列Q进行轮询调度,本实例中假设n为2,即对包含4个元素a0、a1、a2、a3的队列Q进行轮询调度,其中a0处于队列的位置0,a1处于队列的位置1,a2处于队列的位置2,a3处于队列的位置3。可以设定利用伪随机数发生器产生的随机数random,随机数的取值范围为0~(2n-1),作为对队列中各元素的原始位置信息进行位置映射计算的随机值,其中当n为2时,设定random的取值范围为0~3。
其次,根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置。
将所述临时位置的二进制数中的高位去除,保留n位比特;
其中,a_ori_loc和a_tmp_loc的取值范围分别为0~(2n-1),a_ori_loc和a_tmp_loc用二进制表示时,比特位宽为n。若加上随机数后倒置临时位置的二进制数位宽超过n,则将高位删除。本实例中n为2,a_ori_loc和a_tmp_loc的二进制表示形式为a_ori_loc[1:0]和a_tmp_loc[1:0];
具体的,例如,在上述实例中,元素a0、a1、a2和a3的位置值分别加上random得到a0、a1、a2和a3临时位置信息,分别命名为a0_tmp_loc、a1_tmp_loc、a2_tmp_loc和a3_tmp_loc,那么,
a0_tmp_loc=0+random;
a1_tmp_loc=1+random;
a2_tmp_loc=2+random;
a3_tmp_loc=3+random。
然后,将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
具体的,例如,在上述实例中,设a0、a1、a2和a3的临时位置a0_tmp_loc、a1_tmp_loc、a2_tmp_loc和a3_tmp_loc的二进制表示形式为a0_tmp_loc[1:0]、a1_tmp_loc[1:0]、a2_tmp_loc[1:0]、a3_tmp_loc[1:0],将a0、a1、a2和a3的临时位置的二进制比特位进行倒置,得到队列元素的映射位置,分别命名为a0_sch_loc、a1_sch_loc、a2_sch_loc和a3_sch_loc,那么,
a0_sch_loc={a0_tmp_loc[0],a0_tmp_loc[1]};
a1_sch_loc={a1_tmp_loc[0],a1_tmp_loc[1]};
a2_sch_loc={a2_tmp_loc[0],a2_tmp_loc[1]};
a3_sch_loc={a3_tmp_loc[0],a3_tmp_loc[1]}。
表1为random=0时,队列Q的元素位置映射表;表2为random=1时,队列Q的元素位置映射表;表3为random=2时,队列Q的元素位置映射表;表4为random=3时,队列Q的元素位置映射表。
表1
表2
表3
表4
图3~图6为队列元素位置映射的示意图。在上述实例中,参照表1,图3为random=0时,队列元素在经过随机算法映射后得到的映射位置;参照表2,图4为random=1时,队列元素在经过随机算法映射后得到的映射位置;参照表3,图5为random=2时,队列元素在经过随机算法映射后得到的映射位置;参照表4,图6为random=3时,队列元素在经过随机算法映射后得到的映射位置。每次执行轮询时,基于队列元素的映射位置顺序,假设选择从位置0开始对队列元素执行轮询调度,那么当random=0时,被调度的元素为a0;当random=1时,被调度的元素为a3;当random=2时,被调度的元素为a2;当random=3时,被调度的元素为a1。
在完成调度后,可以通过进行随机算法逆向计算得到被调度元素的原始位置值,最终获得当前轮询调度的结果。
本实施例中,通过按照设定规律选择随机值,并根据随机值和队列中各元素的原始位置,计算队列中各元素的临时位置,然后再将队列元素的临时位置的二进制比特位进行倒置,得到队列元素的映射位置,最后基于队列中各元素的映射位置信息,对队列元素执行轮询调度,不但不需要对轮询调度元素的位置信息进行存储记录,而且由于每次进行位置映射处理时可以选用不同的随机值,使每次映射得到的队列元素的映射位置序列都不相同,不需要对轮询调度元素的位置信息进行存储记录,因此,使得本实施例提供的技术方案,不但能够降低了存储设备成本,而且确保了对队列元素调度的均衡性。
图7为本发明轮询调度实现装置实施例一的结构示意图。如图7所示,本实施例的装置可以包括:位置获取模块701、位置映射模块702和轮询调度模块703。其中,位置获取模块701,用于获取队列中各元素在所述队列中的原始位置信息;位置映射模块702,用于对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;轮询调度模块703,用于按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。
本实施例的轮询调度实现装置可以用于执行图1所示方法实施例的方法,具备相应的功能模块,其实现原理和所要达到的技术效果类似,在此不再赘述。
如上所述的装置,其中,位置映射模块702,具体可以用于采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
本实施例的轮询调度实现装置,其实现原理和所要达到的技术效果上文中已有论述,在此不再赘述。
如上所述的装置,其中,轮询调度模块703,具体可以用于按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
本实施例的轮询调度实现装置,其实现原理和所要达到的技术效果上文中已有论述,在此不再赘述。
图8为本发明轮询调度实现装置实施例二的结构示意图。如图8所示,本实施例的装置还可以包括:
位置还原模块801,用于对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
结果获得模块802,用于基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
本实施例的轮询调度实现装置可以用于执行图2所示方法实施例的方法,具备相应的功能模块,其实现原理和所要达到的技术效果类似,在此不再赘述。
如上所述的装置,其中,位置映射模块701,包括:选择单元、计算单元、比特去除单元和倒置单元。其中,选择单元,用于按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;计算单元,用于根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置。
比特去除单元,用于将所述临时位置的二进制数中的高位去除,保留n位比特;倒置单元,用于将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
本实施例的轮询调度实现装置,其实现原理和所要达到的技术效果上文中已有论述,在此不再赘述。
图9为本发明实施例提供的网元设备的结构示意图。如图9所示,该网元设备包括至少一个处理器901(例如CPU),存储器903,和至少一个通信总线904,用于实现装置之间的连接通信。处理器901用于执行存储器903中存储的可执行模块,例如计算机程序。存储器903可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
在一些实施方式中,存储器903存储了程序905,程序905可以被处理器901执行,这个程序包括执行一种轮询调度实现方法,该方法包括:
获取队列中各元素在所述队列中的原始位置信息;
对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;
按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度。
上述执行轮询调度实现方法的程序,优选地,对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息包括:
采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
上述执行轮询调度实现方法的程序,优选地,所述采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,包括:
按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;
根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置;
将所述临时位置的二进制数中的高位去除,保留n位比特;
将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
上述执行轮询调度实现方法的程序,优选地,所述按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度,包括:
按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
上述执行轮询调度实现方法的程序,优选地,在所述执行轮询调度之后,还包括:
对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种轮询调度实现方法,其特征在于,包括:
获取队列中各元素在所述队列中的原始位置信息;
对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;
按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度;
所述按照各元素的映射位置信息所对应的映射队列顺序,从设定的初始位置所对应的元素开始,执行轮询调度,包括:
按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
2.根据权利要求1所述的轮询调度实现方法,其特征在于,对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息包括:
采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
3.根据权利要求2所述的轮询调度实现方法,其特征在于,所述采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,包括:
按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;
根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置;
将所述临时位置的二进制数中的高位去除,保留n位比特;
将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
4.根据权利要求1所述的轮询调度实现方法,其特征在于,在所述执行轮询调度之后,还包括:
对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
5.一种轮询调度实现装置,其特征在于,包括:
位置获取模块,用于获取队列中各元素在所述队列中的原始位置信息;
位置映射模块,用于对所述队列中各元素的原始位置信息基于设定算法进行位置映射处理,得到队列中各元素的映射位置信息,其中,所述设定算法或所述设定算法所采用的参数,在各次轮询调度时按照设定规律变化;
轮询调度模块,用于按照各元素的映射位置信息所对应的映射队列顺序,从设定初始位置所对应的元素开始,执行轮询调度;
所述轮询调度模块,具体用于按照队列中各元素的映射位置信息所对应的映射队列顺序,从队列起首位置的一个元素开始执行轮询调度。
6.根据权利要求5所述的轮询调度实现装置,其特征在于,所述位置映射模块,具体用于采用随机算法,对所述队列中各元素的原始位置信息进行计算,获得原始位置对应的映射位置,作为队列中各元素的映射位置信息。
7.根据权利要求6所述的轮询调度实现装置,其特征在于,所述位置映射模块,包括:
选择单元,用于按照所述设定规律选择本次轮询调度的随机值,其中,所述随机值的取值范围为0~(2n-1),2n为所述队列中元素的个数;
计算单元,用于根据所述随机值和所述队列中各元素的原始位置,计算所述队列中各元素的临时位置,计算公式为:
a_tmp_loc=a_ori_loc+random
其中,random为随机值,a_ori_loc为队列元素的原始位置,a_tmp_loc为队列元素的临时位置;
比特去除单元,用于将所述临时位置的二进制数中的高位去除,保留n位比特;
倒置单元,用于将队列元素的临时位置的n位二进制比特数进行倒置,得到队列元素的映射位置。
8.根据权利要求5所述的轮询调度实现装置,其特征在于,所述装置还包括:
位置还原模块,用于对轮询调度元素的映射位置信息按照所述设定算法的逆算法进行位置还原处理,得到轮询调度元素的原始位置信息;
结果获得模块,用于基于轮询调度元素的原始位置信息,获得对队列元素轮询调度的结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310244413.XA CN103338159B (zh) | 2013-06-19 | 2013-06-19 | 轮询调度实现方法和装置 |
US14/286,555 US9571413B2 (en) | 2013-06-19 | 2014-05-23 | Method and apparatus for implementing round robin scheduling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310244413.XA CN103338159B (zh) | 2013-06-19 | 2013-06-19 | 轮询调度实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103338159A CN103338159A (zh) | 2013-10-02 |
CN103338159B true CN103338159B (zh) | 2016-08-10 |
Family
ID=49246259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310244413.XA Active CN103338159B (zh) | 2013-06-19 | 2013-06-19 | 轮询调度实现方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9571413B2 (zh) |
CN (1) | CN103338159B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259384B (zh) * | 2016-12-29 | 2020-06-02 | 深圳市中兴微电子技术有限公司 | 一种队列轮询选择方法及装置 |
US10305789B2 (en) * | 2017-03-06 | 2019-05-28 | International Business Machines Corporation | Packet forwarding for quality of service delivery |
CN112737941B (zh) * | 2020-12-21 | 2022-05-24 | 北京信而泰科技股份有限公司 | 网络流调度方法、装置及计算机可读介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470017B1 (en) * | 1998-04-21 | 2002-10-22 | Nippon Telegraph And Telephone Corporation | Packet multiplexing apparatus |
GB0226249D0 (en) * | 2002-11-11 | 2002-12-18 | Clearspeed Technology Ltd | Traffic handling system |
CN1254053C (zh) * | 2002-12-10 | 2006-04-26 | 华为技术有限公司 | 一种使信元流量实现最小抖动的加权轮询方法 |
CN1226869C (zh) | 2002-12-10 | 2005-11-09 | 乐金电子(沈阳)有限公司 | 等离子电视的电源控制装置 |
US7788586B2 (en) * | 2005-10-03 | 2010-08-31 | Sony Corporation | Content output queue generation |
US8949989B2 (en) * | 2009-08-17 | 2015-02-03 | Qualcomm Incorporated | Auditing a device |
CN102315956B (zh) * | 2010-07-02 | 2014-10-22 | 中兴通讯股份有限公司 | 一种流量监管方法和装置 |
CN102098217B (zh) * | 2011-01-14 | 2013-08-07 | 中国科学技术大学 | 一种基于概率的多优先级队列调度方法 |
US9218467B2 (en) * | 2013-05-29 | 2015-12-22 | Raytheon Cyber Products, Llc | Intra stack frame randomization for protecting applications against code injection attack |
-
2013
- 2013-06-19 CN CN201310244413.XA patent/CN103338159B/zh active Active
-
2014
- 2014-05-23 US US14/286,555 patent/US9571413B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140376564A1 (en) | 2014-12-25 |
CN103338159A (zh) | 2013-10-02 |
US9571413B2 (en) | 2017-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413150B (zh) | 服务器、虚拟桌面控制方法以及虚拟桌面控制系统 | |
US11032210B2 (en) | Software load balancer to maximize utilization | |
CN109697133A (zh) | Id生成方法、装置及系统 | |
CN109885410A (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
CN103491143A (zh) | 一种文件分享方法及装置 | |
EP3451727A1 (en) | Access scheduling method and device for terminal, and computer storage medium | |
CN105262680A (zh) | 一种应用于云存储系统的多线程nas网关 | |
CN105183585B (zh) | 一种数据备份方法及装置 | |
CN103338159B (zh) | 轮询调度实现方法和装置 | |
CN104537045A (zh) | 一种基于分布式系统的业务分配方法及装置 | |
CN110515728B (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN103973747B (zh) | 一种获取内容的方法和装置 | |
CN108153494B (zh) | 一种io请求处理方法及装置 | |
CN105656794B (zh) | 数据分发方法、装置及计算机可读存储介质 | |
CN103560974B (zh) | 一种令牌维护的方法和装置 | |
CN106776614A (zh) | 分享平台的显示方法及装置 | |
CN109359226A (zh) | 一种数据获取方法及相关装置 | |
CN104917692B (zh) | 一种分发令牌的方法和装置 | |
CN113986511A (zh) | 任务管理方法及相关装置 | |
CN106547642B (zh) | 一种数据存储备份的方法及装置 | |
CN102364455B (zh) | 一种级联多核cpu间vcpu均衡分担控制方法及其装置 | |
CN109388498A (zh) | 一种互斥的处理方法、装置、设备及介质 | |
CN111835815A (zh) | 区块链上互联网自媒体数据的同步存储方法及其装置 | |
CN107832242A (zh) | 一种数据传输方法、系统、装置及计算机可读存储介质 | |
CN104468147A (zh) | 一种负载均衡方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |