一种基于SNMP和SQLite的数据存储维护方法

文档序号:9869912阅读:567来源:国知局
一种基于SNMP和SQLite的数据存储维护方法
【技术领域】
[0001] 本发明设及数据存储、管理领域,特别是一种基于SNMP和SQLite的数据存储维护 方法。
【背景技术】
[0002] 随着网络应用和网络设备的日益普及,网络设备越来越多,而且许多设备都是来 自不同的厂家,网络的复杂性在不断增长,因此网络信息、网络设备信息的存储、管理查询 问题也就越来越重要。大多数公司每年都要进行大量网络设备盘点、资产调整等工作。W通 讯运营商为例,运营商每年除需要进行大量网路设备盘点外,同时还有数W十万计的新增 设备并网运行,从而造成其设备调动管理、存储和资产清查工作异常艰巨,而且由于资产具 有可移动性,因此存储管理网络信息的设备或系统也需要有可移动性。
[0003] S醒P是Internet工程任务组IETF制定的网络管理协议,它简单而易于实现,是遵 循管理/代理进模式(Manager-Agent)的通信协议,其网络管理参考模型如图1所示,包括 SNMP网络管理端(SNMPManager )、SNMP代理端(SNMPAgent ),两者之间通过SNMP协议进行通 信。虽然SNMP网络管理模型可W实时、准确的反应被管理设备的信息,但是SNMP代理端获得 被管理设备信息后,无法提供一种高效、便捷的数据存储、管理、查询服务,运在嵌入式领域 显得尤为不足,因此,代理端本地的其它应用就无法方便的共享SNMP代理获得的数据,因此 需要一种能够在线及时快速、安全有效的存储、查询或管理所需数据的技术。

【发明内容】

[0004] 本发明解决的技术问题是:克服现有技术的不足,提供了一种通过在S醒P代理端 添加对设备信息SQLite数据库及SQLite数据库访问接口,实现了被管理设备信息的灵活修 改或维护的基于SNMP和SQLite的数据存储维护方法。
[000引本发明的技术解决方案是:一种基于SNMP和SQLite的数据存储维护方法,包括如 下步骤:
[0006] (1)通过S醒P代理端获取被管理设备的设备信息并依次存储到SQLite数据库中, 进而构建得到设备信息库,所述的设备信息的属性包括被管理设备的网络接口工作状态、 软件资源、硬件资源、访问权限等级、标识符、描述信息,其中,描述信息包括数据库名、表 名、数据所在行、数据所在列、数据缓冲区首地址;所述的SQLite数据库设置在SNMP代理端, SNMP代理端、S化Ue数据库均工作在arm-1 inux环境下;
[0007] (2)编写SQLite数据库访问函数并进行封装得到SQLite访问接口,然后将SQLite 访问接口通过arm-1 inux交叉工具链编译成动态链接库,将动态链接库移植到arm-1 inux平 台;所述的SQLite访问接口包括读SQLite访问接口、写SQLite访问接口;
[000引(3)监测挪MP网络管理端,当挪MP网络管理端向SNMP代理端发送获取或设置被管 理设备指令时,令SNMP网络管理端根据获取或设置被管理设备指令生成SNMP数据包并发 送;
[0009] (4)在SNMP数据包到达SNMP代理端所在arm-linux平台后,解析SNMP数据包中的IP 协议、UDP协议,将SNMP数据包的链路层、网络层、传输层剥离得到应用层的SNMP协议包;
[0010] (5)使測MP代理端根据測MP管理协议、BER解码规则解析S醒P协议包得到測MP命 令、SNMP参数;所述的SNMP命令包括替换、增加;所述的SNMP参数包括访问权限、需要修改的 设备信息标示符或修改后设备信息属性;
[0011] (6)如果当前S醒P参数访问权限等级低于设备信息中的访问权限等级,则转到步 骤(3)直至数据存储维护结束,如果当前SNMP参数访问权限等级不低于设备信息中的访问 权限等级,则令SNMP代理端根据SNMP参数标示符使用动态链接库中的读访问接口遍历 SQLite数据库中存储的所有设备信息,得到当前SNMP参数对应的设备信息的数据缓冲区首 地址;
[0012] (7)如果当前SNMP命令为替换,则根据步骤(6)得到的数据缓冲区首地址访问当前 设备信息,并使用修改的设备属性替换当前设备信息中的对应属性,如果当前SNMP命令为 增加,则根据步骤(6)得到的数据缓冲区首地址访问当前设备信息,并将修改的设备属性增 加至当前设备信息中的对应属性后,转到步骤(3)直至数据存储维护结束。
[0013] 所述的设备信息为对象类型。
[0014] 所述的SQLite数据库访问函数为使用打吾言编写。
[0015] 本发明与现有技术相比的优点在于:
[0016] (1)本发明在S醒P代理服务的基础上面添加了对SQLite访问的功能,实现了将获 得的被管理设备信息进行灵活的数据存储、修改或维护,并且通过SQLite数据库可W让 arm-l inux平台其它应用程序进行实时共享;
[0017] (2)本发明通过动态链接的方式可W灵活的加载、卸载S化ite访问数据库的功能, 从而可W灵活的配置SNMP代理端服务器的大小,适用于嵌入式资源有限的特点;
[0018] (3)本发明通过引入SQLite数据库,SNMP代理端或者其它应用程序可W方便的实 现对获取到的信息进行数据存储、维护。
【附图说明】
[0019]图巧本发明中SNMP管理端/代理端模型示意图;
[0020] 图2为本发明一种基于SNMP和SQLite的数据存储维护方法原理流程图。
【具体实施方式】
[0021] SQLite是一种便携式轻量级数据库,为可移动式工作平台提供了一种紧凑的、便 捷的、高效的、可靠的数据存储、管理、查询服务,因此,本发明针对现有技术的不足,将SNMP 协议、S化ite数据库结合在一起,W完成对设备信息等数据的准确、快速读取、存储、查询和 管理,下面结合附图对本发明进行详细说明。
[0022] 如图2所示,本发明方法在Iinux环境下实现基本的SNMP代理服务,然后在SNMP代 理服务上面嵌入SQLite数据库访问接口,通过SNMP协议、S化ite数据库访问接口将被管理 设备信息存储在SQLite数据库,并可W随时进行访问、修改,具体实现步骤如下
[0023] (1)获取被管理设备的设备信息并建立设备信息库,设备信息库包括被管理设备 的相关信息,比如:网络接口的工作状态、被管理设备的软硬件资源等,在设备信息库里面 采用对象类型(object type)描述被管理设备的信息,描述内容包括被管理对象文本名、被 管理对象语法属性、被管理对象语意描述、被管理对象访问权限、被管理对象实现要求等。
[0024] SNMP管理的操作对象是设备信息的实例,设备信息库通过对象类型标识符唯一确 定一个被管理设备对象的实例,被管理对象实例的标识符形式如下:
[0025] 对象实例标识符=被管理对象标识符+可变部分
[0026] 被管理对象标识符采用Internet地址授权委员会统一管理的OID树下面的 private分支,可变部分根据所描述的被管理设备信息的数据类型进行。例如,某个资产申 请到了 private分支下的42714分支,节点名称为asset,该设备可W作为网关和终端使用, 具有读写权限,是snmp代理必须实现的对象,那么可W采用如下语句 asset OBJECT-TYPE SYNTAX INTEGER! Forwarding(l); Not- Forwarding(2):
[0027] } ACCESS read-write STATUS mandatory DESCRIPTION "the asset gate
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1