一种业务资源的分配方法

文档序号:7942977阅读:487来源:国知局
专利名称:一种业务资源的分配方法
技术领域
本发明涉及一种业务资源的分配方法,属数据通讯技术领域。
背景技术
在大型通信设备中,由于业务量大,需要大量端口资源和设备内部资源,往往要多块单板负荷分担业务,在分配业务时就产生了多块单板之间如何分配业务的问题。例如在有多块单板可以提供IP端口资源的情况下,根据各个单板的资源占用率如何均衡地向这些单板分配IP业务。为此需要一种在几块单板中均衡分配业务的算法。
目前常用的分配方法有两种一种是以轮训的方式逐个向单板分配业务,即先向一块单板分配业务,当此单板上的资源用完之后再选择下一块单板分配业务。
另一种分配方法是在各个单板之间轮训式分配。分配一次业务后立刻换一块单板,而不是一块单板上的资源用完了之后再换单板。
上述方法的缺点第一种业务分配方法无法做到各个单板之间业务均衡分配,即各个单板的资源占用率不均衡;第二种业务分配方法可以做到各个单板资源占用率的均衡,但是收敛的速度慢,无法做到资源占用率小的单板优先分配业务。虽然设备运行一定的时间后,各个单板的资源占用率可以收敛到均衡状态,但是要花费比较长的时间。而且在设备运行中,某块单板可能与其它单板的资源占用率差异很大,比如一块新的单板插入之后,它的资源占用率比其它单板要小得多,这时应该优先向这块单板分配业务,但是轮训分配的方法无法做得这一点。

发明内容
本发明的目的是针对已有技术中单板业务分配不均匀的缺点,提出一种业务资源的分配方法,使得各个单板能够均匀地负担业务,并且当各个单板的负荷平衡被打破时,能够最快的恢复到平衡状态。
本发明提出的业务资源的分配方法,业务资源在单板上进行分配,包括以下各步骤1、将网络设备上的每块物理单板分成多个虚拟单板,并将每块物理单板上的一个虚拟单板分配给同一个用户;2、记录属于该用户的所有虚拟单板上的资源占用率,并根据资源占用率排序;3、将虚拟单板资源占有率小于设定值的虚拟单板组成一个新集合;4、以轮训的方式向新集合中的虚拟单板分配业务;5、实时记录虚拟单板的资源占用率的变化,并定时更新单板的资源占用率,根据资源占用率重新排序。
上述方法中的网络设备为高端路由器、网关或交换机中的任何一种。
上述方法中,将虚拟单板资源占有率小于设定值的虚拟单板组成一个新集合的过程是,将所有虚拟单板的资源占用率与资源占用率最小的单板相比较,将资源占用率的差值小于系统设定值M的单板组成一个新的集合。
上述方法中,定时更新虚拟单板的资源占用率的过程包括,为每一块单板设置一个计数器,并为计数器设定一个最大值N;当单板上的业务随着业务变化而添加或释放时,对此计数器进行相应的加一或减一操作;当计数器的绝对值大于或者等于上述最大值N时,定时更新单板的资源占用率。
本发明提出的业务资源的分配方法,具有以下优点1、保证业务均衡分配。无论开始的时候各单板之间的资源占用率有多大差异,在设备运行一定时间后,各个单板的资源占用率能够达到均衡状态。
2、资源占用率小的单板优先分配业务。即按照单板的资源占用率,从小到大依次分配业务,而不是无优先级的轮训分配。
3、在设备运行中,如果由于某种原因,比如新的单板启动或者单板解禁等使得单板间的资源占用率均衡被打破时,能够很快地又收敛到均衡状态。
4、考虑到设备运行当中,单板资源占用率更新频率很高,业务分配算法的运算量应当尽量低,以减少CPU负荷。因此链表重排序的操作,不是每次单板的资源占用率发生改变时都要执行链表排序操作,而是将资源占用率的变化量暂时存起来,当积累到一定量时再执行链表排序操作。


图1为根据多个客户将单板分离成多个虚拟单板的示意图。
图2为5块单板的资源占用率示意图。
图3为图2中的5块单板,按照资源占用率升序排列的单板链表。
图4为图3中的5块单板中,资源占用率较小的单板组成的集合具体实施方式
本发明提出的业务资源的分配方法,业务资源在单板上进行分配,首先将网络设备上的每块物理单板分成多个虚拟单板,如图1所示,然后将每块物理单板上的一个虚拟单板分配给同一个用户;记录属于该用户的所有虚拟单板上的资源占用率,并根据资源占用率排序;将虚拟单板资源占有率小于设定值的虚拟单板组成一个新集合;以轮训的方式向新集合中的虚拟单板分配业务;实时记录虚拟单板的资源占用率的变化,并定时更新单板的资源占用率,根据资源占用率重新排序。
上述方法中的网络设备为高端路由器、网关或交换机中的任何一种。
上述方法中,将虚拟单板资源占有率小于设定值的虚拟单板组成一个新集合的过程是,将所有虚拟单板的资源占用率与资源占用率最小的单板相比较,将资源占用率的差值小于系统设定值M的单板组成一个新的集合。
上述方法中定时更新虚拟单板的资源占用率过程为为每一块单板设置一个计数器,并为计数器设定一个最大值N;当单板上的业务随着业务变化而添加或释放时,对此计数器进行相应的加一或减一操作;当计数器的绝对值大于或者等于上述最大值N时,定时更新单板的资源占用率,并根据资源占用率重新排序。
在某些组网环境中,一块单板的资源可能要分配给多个“客户”,需要将一块物理单板实体分离成一块或者多块虚拟单板。例如在关口局中,一台设备可能要为多位客户同时服务。每一位客户拥有设备上一部分资源的使用权。将一块单板从逻辑上分离成多个独立的虚拟单板,每块虚拟单板分别属于不同的客户。当一个客户需要分配业务时,它只能向属于它的虚拟单板分配业务,不能再使用其它客户的资源。如果属于它的虚拟单板已经没有剩余资源,则业务申请失败。
当设备同时为多个“客户”使用时,需要将资源进行划分,每块单板上的资源要按照某种策略分配给多个用户。可以将一块物理单板对应为多块虚拟单板,每一个客户分配一块虚拟单板,虚拟单板的资源容量就是此客户“买”得的资源。当为此客户分配业务时,虽然物理上都是从同一块单板上分配业务,但是逻辑上分配的是不同的虚拟单板。
为了直观地描述本业务管理方法,先构造一个简化模型,以此简化模型为例阐述业务分配方法假设有5块单板{B1、B2、B3、B4、B5},如图2所示。每块单板都可以分配1000资源。首先本方法是有优先级的,资源占用率低的单板优先分配业务。按照资源占用率把5块单板排序。资源占用率小的单板排在前面,资源占用率大的单板排在后面。将此有序链表称为L。如图3所示,按照资源占用率的大小,将图2中的5块单板排列成链表L。
指定一个资源占用率最小差值M,当单板的资源占用率差值小于M的时候,认为这两块单板上占用的业务量是均衡的。把所有满足条件
将“单板的资源占用率-最空闲的单板的资源占用率<M”的单板(包括最空闲的单板)组成集合A。例如指定资源占用率最小差异M=500,则单板B1、B3、B2、B5组成集合A。如图4所示。
当需要分配业务时,按照轮训的方式向集合A中的单板逐个分配业务。实时记录各个单板的资源占用率的变化,根据新的资源占用率重新排序,并且重新计算集合A。
资源占用量最小差值M的大小完全根据实际情况而定,可以通过测试取一个经验值。
设备运行当中,单板的资源占用率不断的变化,如果每次单板的资源占用率变化的时候都对所有单板重新排序,将会大大增加运算量,影响设备性能。所以必须要考虑链表操作的时机问题,一方面使得有序链表L和集合A能够及时更新,另一方面链表更新的频率不会太高,不会占用太多的CPU资源。
设置一个资源占用率变化计数器,用于暂存资源占用率的增加或者减少,当计数器的绝对值大于或者等于一个设定值N的时候,资源占用率已经发生了比较大的变化,再更新单板的资源占用率,重新根据单板资源占用率将各个单板重新排序。
权利要求
1.一种业务资源的分配的方法,其特征在于,所述业务资源在单板上进行分配,其包括以下各步骤(1)将网络设备上的每块物理单板分成多个虚拟单板,并将每块物理单板上的一个虚拟单板分配给同一个用户;(2)记录属于该用户的所有虚拟单板上的资源占用率,并根据资源占用率排序;(3)将虚拟单板资源占有率小于设定值的虚拟单板组成一个新集合;(4)以轮训的方式向新集合中的虚拟单板分配业务;(5)实时记录虚拟单板的资源占用率的变化,并定时更新单板的资源占用率,根据资源占用率重新排序。
2.如权利要求1所述的方法,其特征在于其中所述的网络设备为高端路由器、网关或交换机中的任何一种。
3.如权利要求1所述的方法,其特征在于,所述第(3)步还可以包括将所有虚拟单板的资源占用率与资源占用率最小的单板相比较,将资源占用率的差值小于系统设定值M的单板组成一个新的集合。
4.如权利要求1所述的方法,其特征在于,第(5)步中所述定时更新虚拟单板的资源占用率进一步包括以下步骤(1)为每一块单板设置一个计数器,并为计数器设定一个最大值N;(2)当单板上的业务随着业务变化而添加或释放时,对此计数器进行相应的加一或减一操作;(3)当计数器的绝对值大于或者等于上述最大值N时,定时更新单板的资源占用率。
全文摘要
本发明涉及一种业务资源的分配方法,属数据通讯领域。首先将网络设备上的每块物理单板分成多个虚拟单板,将每块物理单板上的一个虚拟单板分配给同一个用户;记录属于该用户的所有虚拟单板上的资源占用率,并根据资源占用率排序;将虚拟单板资源占有率小于设定值的虚拟单板组成一个新集合;以轮训的方式向新集合中的虚拟单板分配业务;以轮训方式向新集合中的单板分配业务;实时记录单板的资源占用率的变化,并定时更新资源占用率后重新排序。本发明的方法,向资源占用率小的单板优先分配业务,保证业务均衡分配,当新的单板启动或者解禁等使得单板间的资源占用率均衡被打破时,能够很快地收敛到均衡状态。
文档编号H04L12/26GK1509009SQ02154500
公开日2004年6月30日 申请日期2002年12月19日 优先权日2002年12月19日
发明者胡大鹏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1