网管系统中资源标识分配的方法及装置的制造方法_3

文档序号:9846505阅读:来源:国知局
之间仍未能得到用户指定的资源标识的取值数量时,则需要更换取值范围,可以从取值范围的最小值为起始至随机数之间进行取值(即第二资源标识),首先将最小值与已使用资源标识进行比较,如果最小值与已使用资源标识不同,则该最小值可用于分配,进行记录,如果相同,则该最小值已经被使用,不能用于分配;然后将最小值+1,再进行比较,直至所分配的资源标识的数量达到取值数量。
[0079]例如A类型的资源标识的取值范围为1-500,随机数为I 一 500中的301,则在1-300中进行取值,首先将I与已使用资源标识进行比较,然后下个取值需要增加1,即2,将2再与已使用资源标识进行比较。
[0080]在一优选的实施例中,如图3所示,在上述图2的实施例的基础上,上述步骤S103还包括:步骤S1034,若所分配的资源标识的数量未达到所述取值数量时,进行异常提示并退出。
[0081]当比较完取值范围内的所有值仍未能得到用户指定的资源标识的取值数量时,则网管系统直接进行异常提示且退出。如在取值范围1-500内需要获取400个资源标识,而已经使用的资源标识超过了 100个,此时网管系统会抛异常并退出。
[0082]本发明还提供了一种网管系统中资源标识分配的装置,如图4所示,在一实施例中,所述网管系统中资源标识分配的装置包括:
[0083]获取模块101,用于获取所需要分配的业务资源的资源类型及资源标识的取值数量,根据所述资源类型获取系统支持的资源类型;
[0084]本实施例中,预设置网管系统所支持的所有类型的业务资源的资源标识的取值范围。资源标识在分配的过程中经过排序。假设本网管系统支持的业务资源有三类,分别为A类型,B类型及C类型,它们的资源标识的取值范围分别为1-500,100001-4000000,20000001-100000000。将这些业务资源及对应的取值范围预置于网管系统中。
[0085]获取所需要分配的业务资源的资源类型,判断网管系统中是否有持该资源类型的业务资源。如果不是本网管系统支持的资源类型,例如为D类型时,则直接退出分配。
[0086]本实施例中,所需要分配的业务资源的资源标识的取值数量为用户所指定并输入的,其可以为任意正整数。
[0087]查找模块102,用于获取所述系统支持的资源类型的资源标识的取值范围,在所述取值范围中查找所有的已使用资源标识;
[0088]本实施例中,获取所述系统支持的资源类型的资源标识的取值范围,如系统支持的资源类型为A类型,其取值范围为1-500。
[0089]由于网管系统中资源类型繁多,且同一类型下可能分别存储于不同的数据库表格,因此查找所有的已使用资源标识包括:查询各类业务(如以太网业务,ATM业务等)数据,从网管系统的数据库中查询出此资源类型已经使用的标识值的业务,如果异常,则退出;否则从查询出的业务数据中求算出这些已使用的业务标识,并剥离出业务的资源标识,生成资源标识的集合,然后对生成的资源标识的集合进行排序,以便于之后查找运算。
[0090]分配模块103,用于根据所述取值数量、取值范围及已使用资源标识对所述业务资源进行资源标识的分配。
[0091]本实施例中,在网管系统中申请已使用资源标识的内存空间,采用现有的二叉树搜索算法,将取值范围中的资源标识逐一与已使用资源标识进行比较,具体地将取值范围中的一资源标识作为起始值(可以是一随机值),如果此起始值为已使用资源标识,则起始值+1,再将加I后的值与已使用资源标识进行比较,如果已使用资源标识中未搜索到此值,则此值为可用的资源标识,将此值记录下来,并继续搜索查找下一值,直到查询到用户指定数目的资源标识集合。
[0092]另外,如果在此取值范围内还未查询到用户指定数目的资源标识,则进行异常提示,提示用户无法分配指定数目的资源标识,即如果用户要求分配10个资源标识,而取值范围内只有8个资源标识可用使用时,则最后用户得到的提示是无法分配足够多的资源标识。
[0093]本实施例中,不需要申请由资源标识的最小到最大值范围决定的数组的内存空间,该数组的内存空间如果资源标识的最小到最大值范围超出一定值时,申请的内存空间可能有上百兆比特,可能会将网管系统的某一进程内存空间耗尽;而本实施例无须申请资源标识的最小到最大值范围内的内存空间,只需要申请已使用资源标识的内存空间即可,此内存空间一般很较小,只有几千比特,因此,本实施例内存占用小,分配更快。
[0094]在一优选的实施例中,如图5所示,在上述图4的实施例的基础上,所述分配模块103包括:
[0095]生成单元1031,用于在所述取值范围内生成一随机数;
[0096]比较单元1032,用于将以所述随机数为起始至所述取值范围的最大值之间及以所述取值范围的最小值为起始至所述随机数之间的资源标识逐一与所述已使用资源标识进行比较;
[0097]分配单元1033,用于若所述资源标识与所述已使用资源标识不同,则将所述资源标识作为所分配的资源标识,直至所分配的资源标识的数量达到所述取值数量。
[0098]本实施例中,根据系统支持的资源类型的取值范围,以此取值范围的最小值及最大值为依据,生成随机数,该随机数大于最小值而小于最大值。
[0099]以随机数为分配的起始值进行分配,首先将起始值与已使用资源标识进行比较,如果起始值与已使用资源标识不同,则该起始值可用于分配,进行记录,如果相同,则该起始值已经被使用,不能用于分配;然后跳过该起始值,再进行比较,直至所分配的资源标识的数量达到取值数量。
[0100]本实施例可以先在随机值至最大值之间进行分配,然后再在最小值至随机数之间进行分配,或者先在在最小值至随机数之间进行分配,然后在在随机值至最大值之间进行分配。
[0101]在一优选的实施例中,比较单元1032包括第一比较子单元及第二比较子单元,分配单元1033包括第一分配子单元及第二分配子单元,其中:
[0102]第一比较子单元,用于将以所述随机数为起始至所述取值范围的最大值之间的第一资源标识逐一与所述已使用资源标识进行比较;
[0103]第一分配子单元,用于若所述第一资源标识与所述已使用资源标识不同,则将所述第一资源标识作为所分配的资源标识,直至所分配的资源标识的数量达到所述取值数量;
[0104]第二比较子单元,用于若在所述随机数至最大值之间所分配的资源标识的数量未达到所述取值数量时,将以所述取值范围的最小值为起始至所述随机数之间的第二资源标识逐一与所述已使用资源标识进行比较;
[0105]第二分配子单元,用于若所述第二资源标识与所述已使用资源标识不同,则将所述第二资源标识作为所分配的资源标识,直至所分配的资源标识的数量达到所述取值数量。
[0106]以随机数为分配的起始值进行分配,首先将起始值(即第一资源标识)与已使用资源标识进行比较,如果起始值与已使用资源标识不同,则该起始值可用于分配,进行记录,如果相同,则该起始值已经被使用,不能用于分配;然后将起始值+1,再进行比较,直至所分配的资源标识的数量达到取值数量。
[0107]例如A类型的资源标识的取值范围为1-500,随机数为I 一 500中的301,将301做为之后运算的起始值。从随机数301开始,到500为止,在此范围内进行取值,如301,302,303……500,并将每个值与已使用资源标识进行比较,然后下个取值需要增加1,即302,将302再与已使用资源标识进行比较。
[0108]本实施例的随机数的作用是为了避免以下可能存在的场景:如从最小值为起始值进行分配,
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1