软件系统的资源管理方法技术方案

技术编号:2847702 阅读:126 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种软件系统的资源管理方法,该方法主要包括:建立将软件系统的资源管理单元中单位资源的使用情况和资源管理单元在系统资源中的索引信息结合在一起的系统资源的数据结构;根据所述数据结构,采取设定的算法,对软件系统的资源进行分配、回收管理。利用本发明专利技术所述方法,可以在软件系统的资源管理中,提高了资源管理的时间和空间上的利用效率,可以一次分配一个或设定数量的单位资源,可以更快速地回收资源。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种。
技术介绍
在计算机软件领域中,软件系统的资源管理部分,比如NP(NetProceesser,网络处理器)内存资源管理的是否高效直接决定了整个软件系统的效率。通常,软件系统对于任何资源的管理过程如下首先,将资源映射为某种数据结构,在该数据结构中记录资源的使用情况,此过程主要涉及到资源管理的空间效率问题;然后,采用一种有效的算法对上述数据结构进行处理,实现对资源的分配和回收,这一过程主要涉及到资源管理的时间效率问题。因此,一种高效的资源管理既要保证空间效率又要保证时间效率。当在一组特定资源内,每次请求进行分配的资源都是同样大小的资源时,现有技术中的资源管理方法已经非常成熟。以下通过一实例介绍当每次请求进行分配的资源可以是不同大小的资源时,现有的一种资源管理方法。该资源管理方法的原理为在NP资源的管理中,以8个单位资源块作为一个资源管理单元。可以接收1个单位和8个单位的资源申请。该方法的数据结构主要包括resBitmap(一个资源映射表)是一个UCHAR(无符号字符类型)数组类型的资源管理映射位图表。每一个成员中的8bit映射8个单位资源使用情况(0代表空闲可用,1代表已占用)。octalResList(一次可以分配八个单位的可用资源列表)是一个8个单位资源全为空的资源管理单元的资源链。octalResList是一个hash(哈希)链表,为用户一次提供八个资源的分配,octalResList上的每一个节点对应resBitmap中的一个UCHAR成员,每个UCHAR成员根据其成员下标来进行索引。singalResList(一个只能分配一个单位的可用资源列表)8个单位资源中至少一位非空的资源管理单元的资源链。singalResList也是一个hash链表,每次只能为用户提供一个资源的分配,singalResList的每个节点的对应成员与octalResList相同。singalResCounter(已分配的单个资源记数)资源分配计数器,该计数器记录以一个单位分配的资源的总数。因为频繁地以1个单位为分配单位进行资源的分配、回收将产生资源碎片。因此,该方法设置一个资源分配计数器,用于记录已经以一个单位分配的资源总数。当该资源总数超过NP资源总数的一定比例时,如2/3,则不再为一个单位的资源请求分配资源,以保障8个单位的资源请求能够成功获得资源分配。该方法的处理过程主要包括1、当1个单位分配资源记数没有超过设定数值时,针对1个单位的资源申请分配NP的一个单位资源,而且将1个单位分配资源记数+1;2、针对8个单位的资源申请分配NP的8个单位连续资源;3、针对1个单位的资源释放回收NP的一个单位资源,而且将1个单位的分配资源记数-1;4、针对8个单位的资源释放回收NP的8个单位连续资源。在该方法中,资源的分配与回收是根据资源分配类型,对octalResList或singalResList哈希链表的节点进行查找、删除、添加操作,其中要根据哈希节点中resBitmap数组中的下标对资源位图进行位操作。上述现有的资源分配方法的缺点为该方法虽然运用传统的hash算法,实现简单,但是该方法的空间效率和时间效率都不高,而且该方法在资源回收过程中,需要遍历hash桶才能确定管理节点,然后进行相应资源的释放。
技术实现思路
本专利技术的目的是提供一种,从而可以在软件系统的资源管理中,提高了资源管理的时间和空间上的利用效率,可以更快速地回收资源。本专利技术的目的是通过以下技术方案实现的一种,包括A、建立将软件系统的资源管理单元中单位资源的使用情况和资源管理单元在系统资源中的索引信息结合在一起的系统资源的数据结构;B、根据所述数据结构,采取设定的算法,对软件系统的资源进行分配、回收管理。所述的资源管理单元包括设定数量的单位资源,每个单位资源可以单独进行分配、回收。所述的步骤A具体包括A1、在软件系统中同时维持针对单个单位的资源申请的资源链表和针对设定数量单位的资源申请的资源链表;A2、建立一个资源池数组,该数组的每个成员中包括一个资源管理单元中单位资源的使用情况和一个资源管理单元在所述针对单个单位或设定数量单位的资源申请的资源链中的索引信息。所述的步骤A1具体包括所述资源链表由一个个按照设定顺序排列的节点组成,每个节点和一个所述资源管理单元相对应。所述的步骤A2具体包括所述资源池数组的每个成员包括设定数量的比特位数,在其中相应的比特位上设置表示一个资源管理单元中每个单位资源是否可用的标记,在其它比特位上设置一个资源管理单元在所述针对单个单位或设定数量单位的资源申请的资源链中的索引信息。所述的步骤A还包括根据所述资源管理单元中包括的单位资源的数量,建立一个常量数组,该数组中成员的值代表一个管理单元中下一个可以分配的单位资源的位置信息。所述的步骤A还包括在软件系统中设置一个资源分配计数器,在该计数器中记录已经以一个单位分配的资源总数。所述的步骤B具体包括B1、当接收到用户发出的一个单位的资源分配请求时,判断所述资源分配计数器中记录的资源总数占系统资源的总数的比例是否超过了的一个设定的比例,如果是,则拒绝该一个单位的资源分配请求;否则,执行步骤B2;B2、在所述资源池数组的成员中,查找在所述针对单个单位的资源申请的资源链表中的索引值排列在最前的成员,根据该成员中包含的资源管理单元中每个单位资源的使用情况,对所述用户进行资源分配、回收。所述的步骤B2具体包括B21、根据查找到的所述索引值排列在最前的成员中包含的资源管理单元中每个单位资源的使用情况,查找所述常量数组,确定该资源管理单元中下一个可以分配给用户的单位资源,将该单位资源进行编号并分配给用户,将所述资源分配计数器的记数加1;B22、当用户释放了所述单位资源后,根据所述单位资源的编号信息,确定所述单位资源在资源池数组中的位置信息,在该位置上设置表示该单位资源可用的标志,将所述资源分配计数器的记数减1。所述的步骤B具体包括B3、当接收到用户发出的设定数量单位的资源分配请求时,在所述资源池数组的成员中,查找在所述针对设定数量单位的资源申请的资源链表中的索引值排列在最前的成员;B4、将所述查找到的所述索引值排列在最前的成员中包含的资源管理单元进行编号,将该资源管理单元中包含的设定数量的单位资源一起分配给用户;B5、当用户释放了所述资源管理单元后,根据所述资源管理单元的编号信息,确定所述资源管理单元在资源池数组中的位置信息,在该位置上设置表示该资源管理单元可用的标志。由上述本专利技术提供的技术方案可以看出,本专利技术通过在resPool(资源池)数组中实现高位映射、低位索引,从而在软件系统的资源管理中,提高了时间和空间上的利用效率。可以一次分配一个或设定数量的单位资源。在资源回收过程中实现了快速、线性随机回收资源,提高了资源回收效率。附图说明图1为本专利技术所述方法的处理流程图;图2为本专利技术所述resPool数组的具体结构示意图。具体实施例方式本专利技术提供了一种,本专利技术的核心为通过一个每个成员是32bits数组,将每个资源管理单元的使用情况和资源管理单元在资源链表中的索引结合在一起,进行集中管理。下面结合附图来详细描述本专利技术,本专利技术所述方法的处理流程如图1所示,包括如本文档来自技高网
...

【技术保护点】
一种软件系统的资源管理方法,其特征在于,包括:    A、建立将软件系统的资源管理单元中单位资源的使用情况和资源管理单元在系统资源中的索引信息结合在一起的系统资源的数据结构;    B、根据所述数据结构,采取设定的算法,对软件系统的资源进行分配、回收管理。

【技术特征摘要】
1.一种软件系统的资源管理方法,其特征在于,包括A、建立将软件系统的资源管理单元中单位资源的使用情况和资源管理单元在系统资源中的索引信息结合在一起的系统资源的数据结构;B、根据所述数据结构,采取设定的算法,对软件系统的资源进行分配、回收管理。2.根据权利要求1所述的软件系统的资源管理方法,其特征在于,所述的资源管理单元包括设定数量的单位资源,每个单位资源可以单独进行分配、回收。3.根据权利要求2所述的软件系统的资源管理方法,其特征在于,所述的步骤A具体包括A1、在软件系统中同时维持针对单个单位的资源申请的资源链表和针对设定数量单位的资源申请的资源链表;A2、建立一个资源池数组,该数组的每个成员中包括一个资源管理单元中单位资源的使用情况和一个资源管理单元在所述针对单个单位或设定数量单位的资源申请的资源链中的索引信息。4.根据权利要求3所述的软件系统的资源管理方法,其特征在于,所述的步骤A1具体包括所述资源链表由一个个按照设定顺序排列的节点组成,每个节点和一个所述资源管理单元相对应。5.根据权利要去4所述的软件系统的资源管理方法,其特征在于,所述的步骤A2具体包括所述资源池数组的每个成员包括设定数量的比特位数,在其中相应的比特位上设置表示一个资源管理单元中每个单位资源是否可用的标记,在其它比特位上设置一个资源管理单元在所述针对单个单位或设定数量单位的资源申请的资源链中的索引信息。6.根据权利要求2所述的软件系统的资源管理方法,其特征在于,所述的步骤A还包括根据所述资源管理单元中包括的单位资源的数量,建立一个常量数组,该数组中成员的值代表一个管理单元中下一个可以分配的单位资源的位置信息。7.根据权利要求2所述的软件系统的资源管理方法,其特征在于,所述的步骤A还包括在软件系统中设置一个资源分配计数器,在该计数器中记录已经以一个单位...

【专利技术属性】
技术研发人员:刘敏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1