一种简单网络管理协议队列的实现方法技术

技术编号:3484444 阅读:232 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种简单网络管理协议队列的实现方法,该方法包括以下步骤:采用双向链表的结构作为简单网络管理协议(SNMP)队列中节点的组织结构,来创建所述SNMP队列,并通过所述双向链表的双向指针按照数据表中记录对象的字典序组织所述SNMP队列中的节点,将数据表中所有记录对象按照字典序排序;对获取下一个SNMP字典序变量遍历操作请求进行响应,并以所述字典序排序的方式返回查询到的下一个SNMP字典序变量。采用本发明专利技术,利于管理者通过快速查询来获取下一个SNMP字典序变量,从而提高了对遍历操作请求的响应效率。

【技术实现步骤摘要】

本专利技术涉及简单网络管理协议(SNMP, Simple Network Management Protocol)队列的实现技术,尤其涉及一种在实时内存数据库中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队列具体为Al、提供与所述SNMP队列关联的数据表句柄,对数据表句柄进行有效性 检查,如果有效性检查通过,则直接提示出错返回,结束当前创建SNMP队列 的流程;如果有效性检查检查通过,则执行A2;A2、从全局分配的SNMP队列信息结构数组中,获取一个空闲的下标,如 果获取失败,直接提示出错返回,结束当前创建SNMP队列的流程;如果获取 成功,则I丸行A3;A3、从SNMP队列信息结构数组获取SNMP队列信息结构后,对新获取 到的SNMP队列信息结构中的所有成员赋初始值;A4、根据所述数据表的容量与SNMP队列中节点的大小得到最大节点数所 需的动态内存量并申请,如果申请失败,则直接提示出错返回,结束当前创建 SNMP队列的流程;如果申请成功,则执行步骤A5;A5、对数据表的信息结构部分中SNMP队列节点数组指针与SNMP队列 节点数组容量大小进行赋值,对SNMP队列信息结构中的SNMP队列节点数组 指针进行赋值。其中,步骤B具体为Bl、提供队列句柄与遍历操作基于的记录号,对队列句柄进行合法性检查; 如果合法性检查未通过,则直接提示出错返回,结束对当前遍历操作请求 响应的流程;如果合法性检查通过,则通过队列句柄确定队列结构指针,再根据所述遍历操作基于的记录号,确定所述双向链表基于的所述SNMP队列中的对应节点,将所述节点的节点结构中的成员确定为所述下一个SNMP字典序变量并返回。 其中,步骤A后还包括对所述SNMP队列的修改操作。 其中,当增加记录时,对所述SNMP队列的修改具体为 通过前控制数与后控制数先对所述SNMP队列中的节点进行查找范围限 定,然后通过每次将所述前控制数与所述后控制数之间的中间节点确定为待比 较节点,并对所述待比较节点对应记录的字典序进行比较,调整前控制数或后 控制数缩小查找范围;直至所述待比较节点为增加记录号确定节点的后一个节点时结束查找,并 定位到所述待比较节点,在待比较节点之前插入增加记录号确定的节点后,更 新所述SNMP队列。其中,当删除记录时,对所述SNMP队列的修改具体为 通过删除记录的记录号定位到所述SNMP队列中要删除的节点,删除所述 节点后,更新所述SNMP队列。本专利技术在实时内存数据库采用了 SNMP队列的数据管理形式,并且采用双 向链表这一结构作为SNMP队列中节点的组织结构,使数据表中的所有记录按 照字典序的大小以记录号的形式组成了 一个双向链表结构,并实现了数据表中 所有记录对象的字典序排序管理。由于双向链表中的节点排列不是一种固定的数值递增序列,而是通过双向 指针按照记录对象的字典序组织起来的,那么,当向双向链表插入新节点时, 采用类似二分算法定位技术,即引入前控制数与后控制数先对双向链表中的节 点进行查找范围限定,然后通过每次将前控制数与后控制数之间的中间节点确 定为待比较节点,并对待比较节点对应记录的字典序进行比较,调整前控制数 或后控制数,缩小查找范围。这样,可以加速定位新节点插入位置的确定,提 高了插入新节点的效率。另外,在删除双向链表中的节点时,可以通过记录号 一次快速定位,进4于删除操作。综上所述,针对SNMP的Get-Next-Request遍历操作,采用本专利技术利于管理者通过快速查询来获取下一个SNMP字典序变量,能为该遍历操作提供快速 查询的支持,从而提高了对Get-Next-Request遍历操作请求的响应效率。附图说明图1为本专利技术方法的实现流程图;图2为创建的SNMP队列中以双向链表结构组织的所有节点的示意图; 图3为增加记录后更新的SNMP队列中以双向链表结构组织的所有节点的 示意图;图4为删除记录后更新的SNMP队列中以双向链表结构组织的所有节点的 示意图。具体实施方式本专利技术的核心思想是本专利技术在实时内存数据库釆用了 SNMP队列的数据 管理形式,并且采用双向链表这一结构作为SNMP队列中节点的组织结构,使 数据表中的所有记录按照字典序的大小以记录号的形式组成了一个双向链表结 构,并实现了数据表中所有记录对象的字典序排序管理。下面结合附图对技术方案的实施作进一步的详细描述。如图1所示, 一种SNMP队列的实现方法,该方法包括以下步骤步骤IOI、采用双向链表的结构作为SNMP队列中节点的组织结构,来创 建SNMP队列,并通过双向链表的双向指针按照数据表中记录对象的字典序组 织SNMP队列中的节点,将数据表中所有记录对象按照字典序排序。这里,SNMP队列是为数据表服务的以提供数据查询的高效访问接口。 SNMP队列包括记录号与字典序的对应关系,用于支持给定索引值以快速定位 下一个字典序对应的记录号,以支持Get-Next-Request操作。这里,数据表中所有记录对象按照字典序的大小进行字典序排序。并且以 字典序对应记录号的形式组成了 一个双向链表的结构。这里,步骤101中创建SNMP队列的具体处理过程包括以下步骤步骤1011、提供与SNMP队列关联的数据表句柄,对数据表句柄进行有效 性检查,如果有效性检查通过,则直接提示出错返回,结束当前创建SNMP队 列的流程。如果有效性;险查^r查通过,则执行步骤1012。步骤1012、从全局分配的SNMP队列信息结本文档来自技高网...

【技术保护点】
一种简单网络管理协议队列的实现方法,其特征在于,该方法包括以下步骤:A、采用双向链表的结构作为简单网络管理协议SNMP队列中节点的组织结构,来创建所述SNMP队列,并通过所述双向链表的双向指针按照数据表中记录对象的字典序组织所述SNMP队列中的节点,将数据表中所有记录对象按照字典序排序;B、对获取下一个SNMP字典序变量的遍历操作请求进行响应,并以所述字典序排序的方式返回查询到的下一个SNMP字典序变量。

【技术特征摘要】

【专利技术属性】
技术研发人员:叶旭光
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1