基于snmp协议的数据查询方法及系统的制作方法

文档序号:9750813阅读:1385来源:国知局
基于snmp协议的数据查询方法及系统的制作方法
【技术领域】
[0001] 本发明涉及通信领域的数据传输方法,具体而言,涉及一种基于SNMP(Simple Network Management Protocol,简单网络管理协议)协议的数据查询方法及系统。
【背景技术】
[0002] 随着目前网络技术的飞速发展,大数据时代也随之到来,在此形势下,对于网络数 据的传输技术也面临着越加严峻的挑战。
[0003] 网络管理,实质对网络系统中的各种设备进行监测、分析以及控制,从而保障网 络系统可靠有效地运行。网络管理员通过管理工作站于代理之间的交互通信以达到对网 络进行管理的面对。为了保证管理工作站与代理之间能正确地交换管理信息,需要对管 理信息作出定义和在管理工作站于代理两者之间达成一致协议。管理信息即管理对象, 管理工作站于代理之间的协议就是网管协议,目前,使用最为广泛的网管协议便是基于 TCP(Transmission Control Protocol 传输控制协议)/IP(Internet Protocol,网络之间 互连的协议)的简单网络管理协议SNMP协议,该协议简单、易于实现且具有良好的可扩充 性,是工业界事实上的网管协议标准。
[0004] SNMP协议从V2版本开始引入的getBulk方法,所述getBulk用于批量获 取所有的数据,实际上时通过迭代调用get-next-request操作来实现的,其中,所述 get-next-request操作用于向代理查找与变量绑定列表的实例ID相匹配的实例的下 一个实例的值,即返回比下发的索引大的那个实例,比如有索引值为2、3、4的实例,若 get-next-request操作下发的索引是2,则返回索引值为3的实例。可见,所述getBulk方 法完全替代了多次的get或getNext操作,藉以实现通过单次请求便能够获取大量数据的 目的。它最大的优势是减少了交互次数,一次请求可以获取一批数据,相比原有的get和 getNext操作提升了查询效率。然而在现有技术中,对于基于所述getBulk方法获取批量数 据的应用还存在如下不足:
[0005] 1,由于SNMP为应用层协议,且为TCP/IP协议族的一部分,它通过UDP(User Datagram Protocol,用户数据报协议)来操作,换言之,即其受到UDP报文长度限制,基于 所述getBulk方法进行的一次数据请求不一定能够满足用户需要。
[0006] 2,对于大数据请求而言,可能需要执行多次getBulk操作,在完成所有数据获取 的过程中,得反复从上次请求的最后一个实例〇ID (Object identifier,对象标识符)开始, 例如:0ID :· 1. 3. 6. 1. 4. 1. 3902. 4101. 1. 3. 1. 25. 1020,其中 1020 为实例 ID,请求此 0ID,返 回将从1021条实例数据开始,其流程较为复杂。
[0007] 3,如果基于所述getBulk方法对表数据进行数据请求,则在返回的数据中可能存 在部分不需要的0ID数据。这是因为getBulk操作存在顺序返回结果数据的特点,当一个 0ID的全部实例返回结束后,才开始返回下个0ID的实例数据,直到结束,由此可见,现有技 术中基于getBulk方法不支持查询指定0ID集合数据的功能。
[0008] 4,现有技术中基于所述getBulk方法进行数据请求容易出现请求超时,例如存在 超时的可能原因包括:界面超时、请求等待超时、遇到网络不稳定导致的网络延时,降低了 用户体验。

【发明内容】

[0009] 为了提供一种更为高效的数据查询方法,本发明实施例的目的在于提供一种基于 SNMP协议的数据查询方法及系统。
[0010] 为了达到本发明实施例的目的,本发明实施例采用以下技术方案实现:
[0011] 一种基于SNMP协议的数据查询方法,包括:
[0012] 获取针对目标请求对象而配置的查询条件;
[0013] 基于SNMP协议发送getBulk命令,依据所述查询条件获取所述目标请求对象的实 体数据。
[0014] 优选地,所述查询条件的配置项包括下述配置项中的至少一个:
[0015] 标定启始操作对象标识符0ID的同步0ID配置项;
[0016] 标定一次最多请求条数的最大请求数配置项;
[0017] 标定一次请求超时时间的超时时间配置项;
[0018] 标定一次请求失败的重试次数的重试次数配置项;
[0019] 以及,标定对超限消息的消息进行分割的条数直至消息能够正常返回的超限消息 分割数配置项。
[0020] 优选地,所述查询条件的配置项还包括:
[0021] 配置一个边界0ID以标定在识别到该边界0ID时提前结束后续数据处理的边界 0ID配置项。
[0022] 优选地,所述查询条件的配置项还包括:
[0023] 标定一个有效0ID集合列表的0ID集合列表配置项。
[0024] 优选地,所述基于SNMP协议的数据查询方法还包括:
[0025] 当依据getBulk命令返回的数据不属于需要的0ID集合列表时,依据至少一预设 自增长0ID处理机制执行0ID自增长查找逻辑直至找到有效0ID。
[0026] -种基于SNMP协议的数据查询系统,包括:
[0027] 管理端,用于获取针对目标请求对象而配置的查询条件,以及基于SNMP协议向代 理端发送getBulk命令;
[0028] 代理端,用于依据所述查询条件获取所述目标请求对象的实体数据。
[0029] 优选地,所述查询条件的配置项包括下述配置项中的至少一个:
[0030] 标定启始操作对象标识符0ID的同步0ID配置项;
[0031] 标定一次最多请求条数的最大请求数配置项;
[0032] 标定一次请求超时时间的超时时间配置项;
[0033] 标定一次请求失败的重试次数的重试次数配置项;
[0034] 以及,标定对超限消息的消息进行分割的条数直至消息能够正常返回的超限消息 分割数配置项。
[0035] 优选地,所述查询条件的配置项还包括:
[0036] 配置一个边界0ID以标定在识别到该边界0ID时提前结束后续数据处理的边界 OID配置项。
[0037] 优选地,所述查询条件的配置项还包括:
[0038] 标定一个有效0ID集合列表的0ID集合列表配置项。
[0039] 优选地,所述代理端还用于当识别出依据getBulk命令返回的数据不属于需要的 0ID集合列表时,依据至少一预设自增长0ID处理机制执行0ID自增长查找逻辑直至找到有 效 0ID。
[0040] 本发明实施例公开的技术方案提供了一种灵活、有效、快捷的数据查询方法。与现 有技术相比,其可以减少请求次数,能够过滤掉不必要的数据处理,能够实现一次尽量多的 请求数据,以及支持自动化探测性变化请求数,从而切实可行地提升批量数据的查询效率。
【附图说明】
[0041] 图1为本发明实施例提供的一种基于SNMP协议的数据查询方法的流程示意图;
[0042] 图2为本发明实施例提供的一种基于SNMP协议的数据查询系统的结构示意图。
[0043] 本发明目的的实现、功能特点及优异效果,下面将结合具体实施例以及附图做进 一步的说明。
【具体实施方式】
[0044] 下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本 领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限 定。
[0045] 如图1所示,本发明实施例提供的一种基于SNMP协议的数据查询方法,包括如下 具体步骤:
[0046] S10、获取针对目标请求对象而配置的查询条件;
[0047] S20、基于SNMP协议发送getBulk命令,依据所述查询条件获取所述目标请求对象 的实体数据。
[0048] 值得注意的是,本实施例中,依照SNMP标准的该getBulk命令(操作原语)查询 数据的处理流程为本领域技术人员所公知,本文对此不做细述。
[0049] 本实施例中,所述查询条件的配置项包括下述配置项中的至少一个:
[0050] 1、标定启始操作对象标识符0ID的同步0ID配置项,具体地,在界面或配置文件中 配置同步0ID配置项,可以支持动态指定查询不同的0ID,灵活多变;
[0051] 2、标定一次最多请求条数的最大请求数配置项,具体地,在界面或配置文件中配 置最大请求数配置项,可以支持动态指定最大请求参数,用户能够依据请求表实例数据长 度进行调整,以至一次请求得到最多数据;
[0052] 3、标定一次请求超时时间的超时时间配置项,具体地,在界面或配置文件中配置 超时时间配置项,可以支持动态指定一次请求的超时时间,可据实际的网络状况来灵活设 置;
[0053] 4、标定一次请求失败的重试次数的重试次数配置项,具体地,在界面或配置文件 中配置重试次数配置项,可以支持动态指定请求超时后,重新请求的尝试次数;
[0054] 5、以及,标定对超限消息的消息进行分割的条数直至消息能够正常返回的超限消 息分割数配置项,具体地,在界面或配置文件中配置超限消息分割数配置项,可以使得请求 的OID内容实例数据可能是动态变化的,这导致消息长度的不确定性,而此项配置可将超 长请求消息按指定要求进行拆分,在增加请求次数的情况下,保证了数据的完整。
[0055] 优选实施方式中,所述查询条件的配置项还包括:
[0056] 6、配置一个边界0ID以标定在识别到该边界0ID时提前结束后续数据处理的边界 0ID配置项,具体地,在界面或配置文件中配置边界0ID配置项,可以根据边界0ID判断,丢 弃后面不需要的数据,及时返回。例如:一个请求表0ID组一共有35个属性,而需求采集的 0ID数据只存在于前24个0ID中,最后一条有效0ID就是结束0ID:· 1.3.6. 1.4. 1.3902.41 01. 1. 3. 1. 24,边界 0ID 就是:· 1. 3. 6. 1. 4. 1. 3902. 4101. 1. 3. 1. 25。当前取到第 25 个属性 时结束查询。
[0057] 更为优选的实施方式中,所述查询条件的配置项还包括:
[0058] 7、标定一个有效0ID集合列表的0ID集合列表配置项,通过定义一个有效0ID集 合列表,使得在请求表数据时getBulk操作一定按序返回数据,从第1个属性到第η个属 性,一次返回当前属性所有实例值,接着才返回下个属性数据。此情况下根据预先定义集合 内容确认哪些是需要处理0ID,哪些不必处理,减少冗余数据处理。
[0059] 优选地,所述基于SNMP协议的数据查询方法还包括:
[0060] S30、当依据getBulk命令返回的数据不属于需要的0ID集合列表时,依据至少一 预设自增长0ID处理机制执行0ID自增长查找逻辑直至找到有效0ID。具体实施时,当前一 组数据中即有需要的0ID数据,又包含不需要的0ID数据,在判断遇到第一个不需要0ID实 例数据时即跳出后续处理流程,使用自增长处理机制,直到遇见下个有效0ID (在未达到边 界0ID的情况)才进行后续处理,减少对不需要0ID实例数据的遍历以
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1