内存释放方法和路由系统.pdf

上传人:a2 文档编号:1036696 上传时间:2018-03-27 格式:PDF 页数:9 大小:413.38KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110314529.7

申请日:

2011.10.17

公开号:

CN102325091A

公开日:

2012.01.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20111017|||公开

IPC分类号:

H04L12/56; G06F12/02

主分类号:

H04L12/56

申请人:

迈普通信技术股份有限公司

发明人:

曹淋

地址:

610041 四川省成都市高新区九兴大道16号迈普大厦

优先权:

专利代理机构:

北京德琦知识产权代理有限公司 11018

代理人:

杨春香;宋志强

PDF下载: PDF下载
内容摘要

本发明提供了内存释放方法和路由系统。其中,该方法包括:对路由系统中的所有转发核按照设定的规则依次进行组织;每个转发核在更新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至下一个转发核被分配的资源释放队列中;每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于自身更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至下一个转发核被分配的资源释放队列中。

权利要求书

1: 一种内存释放方法, 其特征在于, 该方法包括 : 对路由系统中的所有转发核按照设定的规则依次进行组织 ; 每个转发核在更新资源指针指向的资源后, 将该资源指针在更新之前指向的资源作为 需要释放的资源, 存放至下一个转发核被分配的资源释放队列中 ; 每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源, 如果是, 则依 次取出每一需要释放的资源, 并判断该资源是否为由于自身更新资源指针指向的资源而确 定的需要释放的资源, 如果是, 则释放该资源, 否则, 将该资源继续作为需要释放的资源存 放至下一个转发核被分配的资源释放队列中。
2: 根据权利要求 1 所述的方法, 其特征在于, 所述对路由系统中的所有转发核按照设 定的规则进行组织, 是将所有转发核按照设定的顺序依次组成一个环 ; 所述下一个转发核 为当前转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。
3: 根据权利要求 1 或 2 所述的方法, 其特征在于, 对路由系统中的所有转发核按照设定 的规则进行组织, 是指 : 按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环 ; 或者, 按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。
4: 根据权利要求 1 所述的方法, 其特征在于, 资源释放队列按照先进先出 FIFO 的方式 组织存放的需要释放的资源。
5: 根据权利要求 1 所述的方法, 其特征在于, 所述每个转发核检查自身被分配的资源 释放队列是否存在需要释放的资源的操作, 是在处理报文之前或者处理报文之后执行。
6: 一种路由系统, 其特征在于, 该路由系统包括 : 组织单元、 配置单元和多个转发核, 其中, 所述组织单元, 用于对路由系统中的所有转发核按照设定的规则进行组织 ; 所述配置单元, 用于为每个转发核分配独立的资源释放队列 ; 每一转发核包括 : 第一处理单元和第二处理单元, 其中, 所述第一处理单元, 用于在其所处的转发核更新资源指针指向的资源后, 将该资源指 针在更新之前指向的资源作为需要释放的资源, 存放至该转发核的下一个转发核被分配的 资源释放队列中 ; 所述第二处理单元, 用于检查其所处的转发核被分配的资源释放队列是否存在需要释 放的资源, 如果是, 则依次取出每一需要释放的资源, 并判断该资源是否为由于其所处的转 发核更新资源指针指向的资源而确定的需要释放的资源, 如果是, 则释放该资源, 否则, 将 该资源继续作为需要释放的资源存放至该转发核的下一个转发核被分配的资源释放队列 中。
7: 根据权利要求 6 所述的路由系统, 其特征在于, 所述组织单元对路由系统中的所有 转发核按照设定的规则进行组织, 是将所有转发核按照设定的顺序依次组成一个环 ; 所述 下一个转发核为当前转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。
8: 根据权利要求 6 所述的路由系统, 其特征在于, 所述配置单元为每个转发核分配的 资源释放队列按照先进先出 FIFO 的方式组织存放的需要释放的资源。
9: 根据权利要求 6 所述的路由系统, 其特征在于, 所述第二处理单元是在处理报文之 前或者处理报文之后检查其所处的转发核被分配的资源释放队列是否存在需要释放的资 2 源。
10: 根据权利要求 6 或 7 所述的路由系统, 其特征在于, 所述组织单元对路由系统中的 所有转发核按照设定的规则进行组织, 是指 : 按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环 ; 或者, 按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。

说明书


内存释放方法和路由系统

    【技术领域】
     本发明涉及数据通信技术, 特别涉及内存释放方法和路由系统。背景技术 随着物理接口速率的不断提升, 路由系统中 CPU 的转发核 (core) 数也随之增加。 在路由系统中, CPU 的各个转发核通过并行工作方式并行处理报文转发, 以期提高报文转发 性能。但是, 当多个转发核同时对同一代码区 ( 记为共享资源 ) 访问时, 为避免冲突, 需要 实现多个转发核对共享资源的互斥访问, 该互斥访问不能体现出多核并行执行的优点。
     为了体现出多核并行执行的优点, 就需要避免共享资源的互斥访问。现有技术提 供了以下方法来取代共享资源的互斥访问 : 通过资源指针控制共享资源的访问。该通过资 源指针控制共享资源的访问具体实现时可为 : 在读共享资源时不用互斥, 可以通过资源指 针直接访问 ; 而在写共享资源时也不用互斥, 即首先拷贝一份共享资源, 然后在拷贝的共享 资源上进行写操作, 写操作完成后更新资源指针, 让其指向新拷贝的共享资源。
     至于原来的共享资源, 其需要释放。 其中, 该释放资源是基于时间的内存延迟释放 方法, 即从上述更新资源指针的时间点算起, 在延迟一段时间后, 释放原始的共享资源。该 延迟的时间是静态指定的, 如 1 秒或 10 秒等。
     但是, 这种基于时间的内存延迟释放方法是低效、 甚至是不可靠的, 因为延迟的时 间是静态指定的, 如果指定的延迟时间过短, 那么在该延迟时间到达时, 还会存在该待释放 的资源还有被访问的可能, 这影响资源访问 ; 如果指定的延迟时间过长, 那么势必会在一段 时间内减小系统可提供的空闲内存的数量, 造成资源的浪费。
     发明内容
     本发明提供了内存释放方法和路由系统, 以避免基于时间的内存延迟释放方法所 带来的低效、 甚至不可靠的缺陷。
     本发明提供的技术方案包括 :
     一种内存释放方法, 包括 :
     对路由系统中的所有转发核按照设定的规则依次进行组织 ;
     每个转发核在更新资源指针指向的资源后, 将该资源指针在更新之前指向的资源 作为需要释放的资源, 存放至下一个转发核被分配的资源释放队列中 ;
     每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源, 如果是, 则依次取出每一需要释放的资源, 并判断该资源是否为由于自身更新资源指针指向的资源 而确定的需要释放的资源, 如果是, 则释放该资源, 否则, 将该资源继续作为需要释放的资 源存放至下一个转发核被分配的资源释放队列中。
     一种路由系统, 包括 : 组织单元、 配置单元和多个转发核, 其中,
     所述组织单元, 用于对路由系统中的所有转发核按照设定的规则进行组织 ;
     所述配置单元, 用于为每个转发核分配独立的资源释放队列 ;每一转发核包括 : 第一处理单元和第二处理单元, 其中,
     所述第一处理单元, 用于在其所处的转发核更新资源指针指向的资源后, 将该资 源指针在更新之前指向的资源作为需要释放的资源, 存放至该转发核的下一个转发核被分 配的资源释放队列中 ;
     所述第二处理单元, 用于检查其所处的转发核被分配的资源释放队列是否存在需 要释放的资源, 如果是, 则依次取出每一需要释放的资源, 并判断该资源是否为由于其所处 的转发核更新资源指针指向的资源而确定的需要释放的资源, 如果是, 则释放该资源, 否 则, 将该资源继续作为需要释放的资源存放至该转发核的下一个转发核被分配的资源释放 队列中。
     由以上技术方案可以看出, 本发明中, 每个转发核在其由于更新资源指针指向的 资源而确定的需要释放的资源经过所有转发核之后才释放该资源, 即在所有转发核都不访 问该资源时才及时释放该资源, 这一方面不会影响资源访问, 另一方面也能及时释放资源, 不会造成资源的浪费, 避免基于时间的内存延迟释放方法所带来的低效、 甚至不可靠的缺 陷, 完全避免了基于时间的内存延迟释放方法所带来的低效、 甚至不可靠的缺陷。 附图说明
     图 1 为本发明实施例提供的基本流程图 ;
     图 2 为本发明实施例提供的环结构示意图 ;
     图 3 为本发明实施例提供的环结构另一示意图 ;
     图 4 为本发明实施例提供的路由系统结构图。 具体实施方式
     为了使本发明的目的、 技术方案和优点更加清楚, 下面结合附图和具体实施例对 本发明进行详细描述。
     参见图 1, 图 1 为本发明实施例提供的基本流程图。如图 1 所示, 该流程可包括以 下步骤 :
     步骤 101, 对路由系统中的所有转发核按照设定的规则依次进行组织。
     本步骤 101 具体实现时可为将所有转发核按照设定的顺序依次组成一个环。
     其中, 将所有转发核按照设定的顺序依次组成一个环具体可为 : 对路由系统中的 所有转发核按照顺序编号, 假如路由系统中的所有转发核为 : core-1, core-2, ...core-N, 则可从一个预先设定的初始值比如 1 开始对该所有转发核按照顺序编号, 比如, 编号为从 1 至 N, 之后将所有转发核按照编号大小依次组成一个环。其中, 将所有转发核按照编号大小 依次组成一个环可包括以下任一情况 :
     情况 1 : 按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环。 以路由系统中的所有转发核为 core-1, core-2, ...core-N, 该各个转发核的编号为 1, 2, ...N, 基于此, 按照编号由小到大的顺序顺时针将所有转发核组成一个环即可如图 2 所 示。
     情况 2 : 按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。 以路由系统中的所有转发核为 core-1, core-2, ...core-N, 该各个转发核的编号为 1,2, ...N, 基于此, 按照编号由大到小的顺序顺时针将所有转发核组成一个环即可如图 3 所 示。
     步骤 102, 每个转发核在更新资源指针指向的资源后, 将该资源指针在更新之前指 向的资源作为需要释放的资源, 存放至下一个转发核被分配的资源释放队列中。
     基于上面描述的对路由系统中的所有转发核按照设定的规则进行组织, 是将所有 转发核按照设定的顺序依次组成一个环, 可以得到, 本步骤 102 中的下一个转发核为当前 转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。
     另外, 本步骤 102 中, 转发核被分配的资源释放队列是预先分配的, 资源释放队列 用于存放需要释放的资源, 并按照先进先出 (FIFO : First In First Out) 组织其存放的需 要释放的资源。其中, 各个转发核被分配的资源释放队列相互独立。
     以图 2 为例, 假如本步骤 102 中, core-1 更新资源指针指向的资源, 则该 core-1 将 该资源指针在更新之前指向的资源作为需要释放的资源存放至图 2 所示的 core-2 所被分 配的资源释放队列中。
     步骤 103, 每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源, 如果是, 则依次取出每一需要释放的资源, 并判断该资源是否为由于自身更新资源指针指 向的资源而确定的需要释放的资源, 如果是, 则释放该资源, 否则, 将该资源继续作为需要 释放的资源存放至下一个转发核被分配的资源释放队列中。 本步骤 103 中, 每个转发核检查自身被分配的资源释放队列是否存在需要释放的 资源的操作, 是在处理报文之前或者处理报文之后执行, 本发明并不具体限定。
     至此, 完成图 1 所示的流程。
     从图 1 所示的流程可以看出, 本发明中, 每个转发核在其由于更新资源指针指向 的资源而确定的需要释放的资源经过所有转发核之后才释放该资源, 即在所有转发核都不 访问该资源时才及时释放该资源, 这一方面不会影响资源访问, 另一方面也能及时释放资 源, 不会造成资源的浪费, 避免基于时间的内存延迟释放方法所带来的低效、 甚至不可靠的 缺陷。
     至此, 完成本发明提供的方法描述, 下面对本发明提供的路由系统进行描述 :
     参见图 4, 图 4 为本发明实施例提供的路由系统结构图。如图 4 所示, 该路由系统 包括 : 组织单元、 配置单元和多个转发核, 其中,
     所述组织单元, 用于对路由系统中的所有转发核按照设定的规则进行组织 ;
     所述配置单元, 用于为每个转发核分配独立的资源释放队列 ; 具体地, 每一资源释 放队列是按照 FIFO 的方式组织存放的需要释放的资源。
     每一转发核包括 : 第一处理单元和第二处理单元, 其中,
     所述第一处理单元, 用于在其所处的转发核更新资源指针指向的资源后, 将该资 源指针在更新之前指向的资源作为需要释放的资源, 存放至该转发核的下一个转发核被分 配的资源释放队列中 ;
     所述第二处理单元, 用于检查其所处的转发核被分配的资源释放队列是否存在需 要释放的资源, 如果是, 则依次取出每一需要释放的资源, 并判断该资源是否为由于其所处 的转发核更新资源指针指向的资源而确定的需要释放的资源, 如果是, 则释放该资源, 否 则, 将该资源继续作为需要释放的资源存放至该转发核在的下一个转发核被分配的资源释
     放队列中。其中, 所述第二处理单元是在处理报文之前或者处理报文之后检查其所处的转 发核被分配的资源释放队列是否存在需要释放的资源。
     具体地, 本发明中, 所述组织单元对路由系统中的所有转发核按照设定的规则进 行组织, 是将所有转发核按照设定的顺序依次组成一个环 ; 相应地, 所述下一个转发核为当 前转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。
     优选地, 本发明中, 所述组织单元对路由系统中的所有转发核按照设定的规则进 行组织, 是指 :
     按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环 ; 或者,
     按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。
     至此, 完成本发明提供的路由系统结构描述。
     由以上技术方案可以看出, 本发明中, 环中的每个转发核在其由于更新资源指针 指向的资源而确定的需要释放的资源经过整个环的所有转发核之后才释放该资源, 即在所 有转发核都不访问该资源时才及时释放该资源, 这一方面不会影响资源访问, 另一方面也 能及时释放资源, 不会造成资源的浪费, 避免基于时间的内存延迟释放方法所带来的低效、 甚至不可靠的缺陷。 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。
    

内存释放方法和路由系统.pdf_第1页
第1页 / 共9页
内存释放方法和路由系统.pdf_第2页
第2页 / 共9页
内存释放方法和路由系统.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《内存释放方法和路由系统.pdf》由会员分享,可在线阅读,更多相关《内存释放方法和路由系统.pdf(9页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102325091A43申请公布日20120118CN102325091ACN102325091A21申请号201110314529722申请日20111017H04L12/56200601G06F12/0220060171申请人迈普通信技术股份有限公司地址610041四川省成都市高新区九兴大道16号迈普大厦72发明人曹淋74专利代理机构北京德琦知识产权代理有限公司11018代理人杨春香宋志强54发明名称内存释放方法和路由系统57摘要本发明提供了内存释放方法和路由系统。其中,该方法包括对路由系统中的所有转发核按照设定的规则依次进行组织;每个转发核在更新资源指针指向的资源后,将。

2、该资源指针在更新之前指向的资源作为需要释放的资源,存放至下一个转发核被分配的资源释放队列中;每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于自身更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至下一个转发核被分配的资源释放队列中。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书4页附图2页CN102325104A1/2页21一种内存释放方法,其特征在于,该方法包括对路由系统中的所有转发核按照设定的规则依次进行组织;每个转发核在更。

3、新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至下一个转发核被分配的资源释放队列中;每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于自身更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至下一个转发核被分配的资源释放队列中。2根据权利要求1所述的方法,其特征在于,所述对路由系统中的所有转发核按照设定的规则进行组织,是将所有转发核按照设定的顺序依次组成一个环;所述下一个转发核为当前转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。

4、。3根据权利要求1或2所述的方法,其特征在于,对路由系统中的所有转发核按照设定的规则进行组织,是指按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环;或者,按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。4根据权利要求1所述的方法,其特征在于,资源释放队列按照先进先出FIFO的方式组织存放的需要释放的资源。5根据权利要求1所述的方法,其特征在于,所述每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源的操作,是在处理报文之前或者处理报文之后执行。6一种路由系统,其特征在于,该路由系统包括组织单元、配置单元和多个转发核,其中,所述组织单元,用于对路由系统中的所有转发核。

5、按照设定的规则进行组织;所述配置单元,用于为每个转发核分配独立的资源释放队列;每一转发核包括第一处理单元和第二处理单元,其中,所述第一处理单元,用于在其所处的转发核更新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至该转发核的下一个转发核被分配的资源释放队列中;所述第二处理单元,用于检查其所处的转发核被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于其所处的转发核更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至该转发核的下一个转发核被分配的资源释放。

6、队列中。7根据权利要求6所述的路由系统,其特征在于,所述组织单元对路由系统中的所有转发核按照设定的规则进行组织,是将所有转发核按照设定的顺序依次组成一个环;所述下一个转发核为当前转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。8根据权利要求6所述的路由系统,其特征在于,所述配置单元为每个转发核分配的资源释放队列按照先进先出FIFO的方式组织存放的需要释放的资源。9根据权利要求6所述的路由系统,其特征在于,所述第二处理单元是在处理报文之前或者处理报文之后检查其所处的转发核被分配的资源释放队列是否存在需要释放的资权利要求书CN102325091ACN102325104A2/2页3源。10根据。

7、权利要求6或7所述的路由系统,其特征在于,所述组织单元对路由系统中的所有转发核按照设定的规则进行组织,是指按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环;或者,按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。权利要求书CN102325091ACN102325104A1/4页4内存释放方法和路由系统技术领域0001本发明涉及数据通信技术,特别涉及内存释放方法和路由系统。背景技术0002随着物理接口速率的不断提升,路由系统中CPU的转发核CORE数也随之增加。在路由系统中,CPU的各个转发核通过并行工作方式并行处理报文转发,以期提高报文转发性能。但是,当多个转发核同时对同一。

8、代码区记为共享资源访问时,为避免冲突,需要实现多个转发核对共享资源的互斥访问,该互斥访问不能体现出多核并行执行的优点。0003为了体现出多核并行执行的优点,就需要避免共享资源的互斥访问。现有技术提供了以下方法来取代共享资源的互斥访问通过资源指针控制共享资源的访问。该通过资源指针控制共享资源的访问具体实现时可为在读共享资源时不用互斥,可以通过资源指针直接访问;而在写共享资源时也不用互斥,即首先拷贝一份共享资源,然后在拷贝的共享资源上进行写操作,写操作完成后更新资源指针,让其指向新拷贝的共享资源。0004至于原来的共享资源,其需要释放。其中,该释放资源是基于时间的内存延迟释放方法,即从上述更新资源。

9、指针的时间点算起,在延迟一段时间后,释放原始的共享资源。该延迟的时间是静态指定的,如1秒或10秒等。0005但是,这种基于时间的内存延迟释放方法是低效、甚至是不可靠的,因为延迟的时间是静态指定的,如果指定的延迟时间过短,那么在该延迟时间到达时,还会存在该待释放的资源还有被访问的可能,这影响资源访问;如果指定的延迟时间过长,那么势必会在一段时间内减小系统可提供的空闲内存的数量,造成资源的浪费。发明内容0006本发明提供了内存释放方法和路由系统,以避免基于时间的内存延迟释放方法所带来的低效、甚至不可靠的缺陷。0007本发明提供的技术方案包括0008一种内存释放方法,包括0009对路由系统中的所有转。

10、发核按照设定的规则依次进行组织;0010每个转发核在更新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至下一个转发核被分配的资源释放队列中;0011每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于自身更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至下一个转发核被分配的资源释放队列中。0012一种路由系统,包括组织单元、配置单元和多个转发核,其中,0013所述组织单元,用于对路由系统中的所有转发核按照设定的规则进行组织;0014所。

11、述配置单元,用于为每个转发核分配独立的资源释放队列;说明书CN102325091ACN102325104A2/4页50015每一转发核包括第一处理单元和第二处理单元,其中,0016所述第一处理单元,用于在其所处的转发核更新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至该转发核的下一个转发核被分配的资源释放队列中;0017所述第二处理单元,用于检查其所处的转发核被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于其所处的转发核更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续。

12、作为需要释放的资源存放至该转发核的下一个转发核被分配的资源释放队列中。0018由以上技术方案可以看出,本发明中,每个转发核在其由于更新资源指针指向的资源而确定的需要释放的资源经过所有转发核之后才释放该资源,即在所有转发核都不访问该资源时才及时释放该资源,这一方面不会影响资源访问,另一方面也能及时释放资源,不会造成资源的浪费,避免基于时间的内存延迟释放方法所带来的低效、甚至不可靠的缺陷,完全避免了基于时间的内存延迟释放方法所带来的低效、甚至不可靠的缺陷。附图说明0019图1为本发明实施例提供的基本流程图;0020图2为本发明实施例提供的环结构示意图;0021图3为本发明实施例提供的环结构另一示意。

13、图;0022图4为本发明实施例提供的路由系统结构图。具体实施方式0023为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。0024参见图1,图1为本发明实施例提供的基本流程图。如图1所示,该流程可包括以下步骤0025步骤101,对路由系统中的所有转发核按照设定的规则依次进行组织。0026本步骤101具体实现时可为将所有转发核按照设定的顺序依次组成一个环。0027其中,将所有转发核按照设定的顺序依次组成一个环具体可为对路由系统中的所有转发核按照顺序编号,假如路由系统中的所有转发核为CORE1,CORE2,COREN,则可从一个预先设定的初始值比如1开始对该。

14、所有转发核按照顺序编号,比如,编号为从1至N,之后将所有转发核按照编号大小依次组成一个环。其中,将所有转发核按照编号大小依次组成一个环可包括以下任一情况0028情况1按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环。以路由系统中的所有转发核为CORE1,CORE2,COREN,该各个转发核的编号为1,2,N,基于此,按照编号由小到大的顺序顺时针将所有转发核组成一个环即可如图2所示。0029情况2按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。以路由系统中的所有转发核为CORE1,CORE2,COREN,该各个转发核的编号为1,说明书CN102325091ACN102325。

15、104A3/4页62,N,基于此,按照编号由大到小的顺序顺时针将所有转发核组成一个环即可如图3所示。0030步骤102,每个转发核在更新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至下一个转发核被分配的资源释放队列中。0031基于上面描述的对路由系统中的所有转发核按照设定的规则进行组织,是将所有转发核按照设定的顺序依次组成一个环,可以得到,本步骤102中的下一个转发核为当前转发核在环中沿顺时针方向或者逆时针方向的相邻的转发核。0032另外,本步骤102中,转发核被分配的资源释放队列是预先分配的,资源释放队列用于存放需要释放的资源,并按照先进先出FIFOFIRS。

16、TINFIRSTOUT组织其存放的需要释放的资源。其中,各个转发核被分配的资源释放队列相互独立。0033以图2为例,假如本步骤102中,CORE1更新资源指针指向的资源,则该CORE1将该资源指针在更新之前指向的资源作为需要释放的资源存放至图2所示的CORE2所被分配的资源释放队列中。0034步骤103,每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于自身更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至下一个转发核被分配的资源释放队列中。0035本步骤103中。

17、,每个转发核检查自身被分配的资源释放队列是否存在需要释放的资源的操作,是在处理报文之前或者处理报文之后执行,本发明并不具体限定。0036至此,完成图1所示的流程。0037从图1所示的流程可以看出,本发明中,每个转发核在其由于更新资源指针指向的资源而确定的需要释放的资源经过所有转发核之后才释放该资源,即在所有转发核都不访问该资源时才及时释放该资源,这一方面不会影响资源访问,另一方面也能及时释放资源,不会造成资源的浪费,避免基于时间的内存延迟释放方法所带来的低效、甚至不可靠的缺陷。0038至此,完成本发明提供的方法描述,下面对本发明提供的路由系统进行描述0039参见图4,图4为本发明实施例提供的路。

18、由系统结构图。如图4所示,该路由系统包括组织单元、配置单元和多个转发核,其中,0040所述组织单元,用于对路由系统中的所有转发核按照设定的规则进行组织;0041所述配置单元,用于为每个转发核分配独立的资源释放队列;具体地,每一资源释放队列是按照FIFO的方式组织存放的需要释放的资源。0042每一转发核包括第一处理单元和第二处理单元,其中,0043所述第一处理单元,用于在其所处的转发核更新资源指针指向的资源后,将该资源指针在更新之前指向的资源作为需要释放的资源,存放至该转发核的下一个转发核被分配的资源释放队列中;0044所述第二处理单元,用于检查其所处的转发核被分配的资源释放队列是否存在需要释放。

19、的资源,如果是,则依次取出每一需要释放的资源,并判断该资源是否为由于其所处的转发核更新资源指针指向的资源而确定的需要释放的资源,如果是,则释放该资源,否则,将该资源继续作为需要释放的资源存放至该转发核在的下一个转发核被分配的资源释说明书CN102325091ACN102325104A4/4页7放队列中。其中,所述第二处理单元是在处理报文之前或者处理报文之后检查其所处的转发核被分配的资源释放队列是否存在需要释放的资源。0045具体地,本发明中,所述组织单元对路由系统中的所有转发核按照设定的规则进行组织,是将所有转发核按照设定的顺序依次组成一个环;相应地,所述下一个转发核为当前转发核在环中沿顺时针。

20、方向或者逆时针方向的相邻的转发核。0046优选地,本发明中,所述组织单元对路由系统中的所有转发核按照设定的规则进行组织,是指0047按照转发核的编号由小到大的顺序顺时针将所有转发核组成一个环;或者,0048按照转发核的编号由大到小的顺序顺时针将所有转发核组成一个环。0049至此,完成本发明提供的路由系统结构描述。0050由以上技术方案可以看出,本发明中,环中的每个转发核在其由于更新资源指针指向的资源而确定的需要释放的资源经过整个环的所有转发核之后才释放该资源,即在所有转发核都不访问该资源时才及时释放该资源,这一方面不会影响资源访问,另一方面也能及时释放资源,不会造成资源的浪费,避免基于时间的内存延迟释放方法所带来的低效、甚至不可靠的缺陷。0051以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。说明书CN102325091ACN102325104A1/2页8图1图2图3说明书附图CN102325091ACN102325104A2/2页9图4说明书附图CN102325091A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1