[发明专利]一种简单网络管理协议队列的实现方法有效
申请号: | 200810056763.2 | 申请日: | 2008-01-24 |
公开(公告)号: | CN101237348A | 公开(公告)日: | 2008-08-06 |
发明(设计)人: | 叶旭光 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;G06F17/30 |
代理公司: | 北京汇泽知识产权代理有限公司 | 代理人: | 刘淑敏;张瑾 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 简单 网络 管理 协议 队列 实现 方法 | ||
技术领域
本发明涉及简单网络管理协议(SNMP,Simple Network ManagementProtocol)队列的实现技术,尤其涉及一种在实时内存数据库中SNMP队列的实现方法。
背景技术
SNMP是目前TCP/IP网络中应用最为广泛的网络管理协议,可以应用在嵌入式系统中。那么,实时内存数据库作为嵌入式系统中数据管理的一种通常形式,承担着对数据的所有维护工作。当然也包括对SNMP队列实现的支持。
举例来说,当对有索引值的变量进行SNMP的Get-Next-Request遍历操作时,被管对象需要按照SNMP的要求,以字典序排序的方式返回给管理者。这里,所谓Get-Next-Request指:基于给定索引值获取下一个SNMP字典序变量的过程。所谓字典序指:根据实例的SNMP对象标识符(OID)的值从左到右或从小到大排列的排序方法。
现有实时内存数据库中并未实现SNMP队列,然而针对SNMP的Get-Next-Request操作,现有实时内存数据库中已实现的数据管理形式,比如记录表和索引表皆无法为上述字典序排序的返回操作提供有效地查询,不利于管理者通过快速查询来获取下一个SNMP字典序变量,从而降低了对Get-Next-Request操作请求的响应效率。
发明内容
有鉴于此,本发明的主要目的在于提供一种SNMP队列的实现方法,利于管理者通过快速查询来获取下一个SNMP字典序变量,从而提高了对遍历操作请求的响应效率。
为达到上述目的,本发明的技术方案是这样实现的:
一种SNMP队列的实现方法,该方法包括以下步骤:
A、采用双向链表的结构作为SNMP队列中节点的组织结构,来创建所述SNMP队列,并通过所述双向链表的双向指针按照数据表中记录对象的字典序组织所述SNMP队列中的节点,将数据表中所有记录对象按照字典序排序;
B、对获取下一个SNMP字典序变量的遍历操作请求进行响应,并以所述字典序排序的方式返回查询到的下一个SNMP字典序变量。
其中,步骤A中创建SNMP队列具体为:
A1、提供与所述SNMP队列关联的数据表句柄,对数据表句柄进行有效性检查,如果有效性检查通过,则直接提示出错返回,结束当前创建SNMP队列的流程;如果有效性检查检查通过,则执行A2;
A2、从全局分配的SNMP队列信息结构数组中,获取一个空闲的下标,如果获取失败,直接提示出错返回,结束当前创建SNMP队列的流程;如果获取成功,则执行A3;
A3、从SNMP队列信息结构数组获取SNMP队列信息结构后,对新获取到的SNMP队列信息结构中的所有成员赋初始值;
A4、根据所述数据表的容量与SNMP队列中节点的大小得到最大节点数所需的动态内存量并申请,如果申请失败,则直接提示出错返回,结束当前创建SNMP队列的流程;如果申请成功,则执行步骤A5;
A5、对数据表的信息结构部分中SNMP队列节点数组指针与SNMP队列节点数组容量大小进行赋值,对SNMP队列信息结构中的SNMP队列节点数组指针进行赋值。
其中,步骤B具体为:
B1、提供队列句柄与遍历操作基于的记录号,对队列句柄进行合法性检查;
如果合法性检查未通过,则直接提示出错返回,结束对当前遍历操作请求响应的流程;
如果合法性检查通过,则通过队列句柄确定队列结构指针,再根据所述遍历操作基于的记录号,确定所述双向链表基于的所述SNMP队列中的对应节点,将所述节点的节点结构中的成员确定为所述下一个SNMP字典序变量并返回。
其中,步骤A后还包括对所述SNMP队列的修改操作。
其中,当增加记录时,对所述SNMP队列的修改具体为:
通过前控制数与后控制数先对所述SNMP队列中的节点进行查找范围限定,然后通过每次将所述前控制数与所述后控制数之间的中间节点确定为待比较节点,并对所述待比较节点对应记录的字典序进行比较,调整前控制数或后控制数缩小查找范围;
直至所述待比较节点为增加记录号确定节点的后一个节点时结束查找,并定位到所述待比较节点,在待比较节点之前插入增加记录号确定的节点后,更新所述SNMP队列。
其中,当删除记录时,对所述SNMP队列的修改具体为:
通过删除记录的记录号定位到所述SNMP队列中要删除的节点,删除所述节点后,更新所述SNMP队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810056763.2/2.html,转载请声明来源钻瓜专利网。