一种批量数据获取请求的发送方法及装置的制造方法_2

文档序号:9566987阅读:来源:国知局
待发送批量数据获取请求的网元能够处理的OID的 个数,确定该批量数据获取请求的当前最大重复数,并将该当前最大重复数随同该批量数 据获取请求一起发送给网元,其中,对应于待获取数据的OID信息,可W从该批量数据获取 请求的参数信息中获取,该参数信息可W由用户来进行设置。本发明提供的批量数据获取 请求的发送方法中,由于在向网元发送批量数据获取请求时,同时将该批量数据获取请求 的当前最大重复数也发送给了网元,而该当前最大重复数根据网元的处理能力来确定,从 而使得网元在反馈待获取数据时,能够在网元的处理能力内返回尽可能多的待获取数据, 从而避免了返回的报文由于过长造成数据兀余的问题或由于过短而需要经过多次交互才 能够返回所有待获取数据的问题。
[0028] 在将批量数据获取请求发送给网元后,该网元会响应于该批量数据获取请求反馈 待获取数据,但是由于网络传输分包限制,如果反馈的待获取数据过大,则会造成响应报文 出错的问题,从而影响获取数据的准确性。
[0029] 为了解决上述技术问题,在本发明的一具体实施例中,上述步骤S104之后还可W 包括:接收所述网元响应于所述批量数据获取请求所反馈的批量数据反馈信息;当所述批 量数据反馈信息未携带所述待获取数据时,为所述批量数据获取请求重新设置新的最大重 复数,所述新的最大重复数小于所述当前最大重复数;将携带了所述新的最大重复数的批 量数据获取请求发送给所述网元。
[0030] 上述操作的目的是,当接收到网元反馈的批量数据反馈信息未携带待获取数据 时,即响应报文出错时,通过设置新的最大重复数,并将该新的最大重复数随同批量数据获 取请求发送给网元,使得网元根据该新的最大重复数反馈待获取数据,由于新的最大重复 数要小于当前最大重复数,因此,反馈的待获取数据要比之前少,从而能够避免由于网络传 输分包限制造成的问题,当然,如果网元再次反馈的批量数据反馈信息仍未携带待获取数 据时,则可W再次重新设置更小的最大重复数,直至能够成功获取到待获取数据为止。
[0031] 在本发明的一具体实施例中,可W通过下述方式获取存储所述待获取数据的网元 能够处理的最大OID个数;根据所述网元的IP地址及预存储的IP地址与设备类型的对应 关系,获取所述网元的设备类型;根据预存储的设备类型与能够处理的最大OID个数的对 应关系,获取与所述设备类型对应的能够处理的最大OID个数。
[0032] 上述的批量数据获取请求的发送方法中,通过预存的IP地址与设备类型的对应 关系及网元的IP地址,能够获取到网元的设备类型,而由于每一设备类型所对应的能够处 理的OID的个数是确定的,因此,能够获取到网元能够处理的最大OID个数,其中,IP地址与 设备类型的对应关系及设备类型与能够处理的最大OID个数的对应关系可W存储在配置 文件中,根据配置文件及网元的IP地址即可方便地获取到网元能够处理的最大OID个数。
[0033] 在本发明的一具体实施例中,上述步骤S102可W具体为:确定所述批量数据获取 请求的当前最大重复数为所述网元能够处理的最大OID个数与所述第一个数的比值上取 整。
[0034] 上述的批量数据获取请求的发送方法中,确定所述当前最大重复数为所述网元能 够处理的最大OID个数与所述第一个数的比值上取整,例如,网元能够处理的最大OID个数 为210,第一个数为11,则当前最大重复数为20,因此,当通过该批量数据获取请求从该网 元中获取数据时,由于当前最大重复数被设置为20,则对应于该批量数据获取请求的一条 批量数据反馈信息能够承载OID个数为220个,能够包括该网元能够处理的所有的0ID,且 不会带来过多的数据兀余。
[0035] 相反的,如果该当前最大重复数并非被设置为20,例如当前最大重复数为被设置 为10时,则对应于该批量数据获取请求的一条批量数据反馈信息只能够承载110个0ID,若 待获取数据为网元能够处理的所有OID时,则需要再次发送一次批量数据获取请求才能够 获取到所有的待获取数据,而当前最大重复数为30个时,则对应于该批量数据获取请求的 一条批量数据反馈信息只能够承载310个0ID,但是由于网元能够处理的所有OID只有210 个,则该批量数据反馈信息中承载的100个OID为兀余数据。
[0036] OID的参数类型可W分为多种,如可W为短数据类型Integer或Couter,也可W为 长数据类型,而长数据类型占用的字节数通常都比较长且对于属于同一种长数据类型的不 同OID,所占用的字节数也会存在较大的差距,例如,一种长数据类型的最大字节数为200 比特时,该长数据类型的OIDl可能占用180比特,而该长数据类型的OID2可能只占用2 比特,因此,当对应于待获取数据的OID的参数类型存在长数据类型时,有可能会出现由于 长数据类型占用字节数过多而造成在传输过程中传输数据量过大的情况,为了避免送种情 况,当存在长数据类型时,可W对当前最大重复数进行调整W避免由长数据类型而带来的 问题。
[0037] 在本发明的一具体实施例中,所述OID信息还包括每一OID对应的参数类型,上述 步骤S102之后还可W具体包括;根据所述每一OID对应的参数类型,判断是否存在参数类 型为长数据类型的OID;当存在参数类型为长数据类型的OID时,根据参数类型为长数据类 型的OID的第二个数及所述第一个数调整所述当前最大重复数,否则,保持所述当前最大 重复数不变。
[0038] 上述操作的目的是,当存在参数类型为长数据类型的OID时,根据长数据类型的 OID的个数对当前最大重复数进行调整,W避免网元根据该当前最大重复数反馈的批量数 据反馈信息占有的资源过多,当然,批量数据反馈信息占用的字节数的大小与具体的反馈 信息内容有关,当存在长数据类型时,并不一定会造成批量数据反馈信息占用的资源过多 的问题,因此,上述操作只是为了避免可能出现的情况,W尽量保证批量数据反馈信息的准 确性而采用的一种优化方式。
[0039] 上述的批量数据获取请求的发送方法,其中,所述根据参数类型为长数据类型的 OID的第二个数及所述第一个数,调整所述当前最大重复数具体可W包括;根据所述第二 个数与所述第一个数的比值,确定所述当前最大重复数的调整权重;根据所述当前最大重 复数的调整权重对所述当前最大重复数进行调整。
[0040] 通过将长数据类型的OID的个数在所有与待获取数据对应的OID个数中所占的比 例作为权重,来调整当前最大重复数。
[0041] 具体的,可W通过下述公式来根据所述当前最大重复数的调整权重对所述当前最 大重复数进行调整;/?'=,Mavfd-W)* /?1,巧,},其中,R'为调整后的当前最大重复数,W为所 述当前最大重复数的调整权重,R为当前最大重复数,Ro为预设的当前最大重复数的最小 值。
[0042] 通常参数类型为长数据类型的OID所占的比例并不会太多,因此,可W通过公式 巧' =「〇-W)*/?1来调整当前最大重复数,但,为了避免长数据类型的OID所占比例较大时, 采用该公式得到的调整后的当前最大重复数过小,而无法实现批量获取数据的目的,因此, 可W使得调整后的当前最大重复数不会小于预设的当前最大重复数的最小值。
[0043] 上述的批量数据获取请求的发送方法,其中,所述长数据类型包括;Display String类型和 / 或OCTETString类型。
[0044] 在本发明的一具体实施例中,当所述批量数据反馈信息未携带所述待获取数据 时,所述为所述批量数据获取请求重新设置新的最大重复数具体为;从所述当前最大重复 数的一半上取整及所述预设的当前最大重复数的最小值中选择一个最大值,设置为所述新 的最大重复数。
[0045] 当响应的报文出错时,可将当前最大重复数减半上取整作为新的最大重复数,当 然,该新的最大重复数也可W设置为其他任意值,只要比当前最大重复数小且大于等于预 设的当前最大重复数的最小值即可,避免由于新的最大重复数过小而无法实现批量获取数 据的目的。
[0046] 图2为采用本发明提供的批量数据获取请求从网元代理Agent处批量获取数据的 方法流程图,如图所示,所述方法包括:
[0047] 步骤S200,获取批量数据获取请求SNMPGetBu化传入的OID参数列表;
[0048] 步骤S202,根据该SNMPGetBu化操作对应的网元代理Agent的IP地址,获取到 该Agent对应的设备类型;
[0049] 步骤S204,通过预存的配置文件获取到该设备类型的SNMPGetBu化响应能力,即 该Agent响应于SNMPGetBu化请求时,能够处理的最大OID数量;
[0050] 步骤S206,根据OID参数列表长度,即OID的个数,W及Agent响应能力,计算出最 大重复数,即最大重
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1