数据获取方法及装置的制造方法

文档序号:10473521阅读:375来源:国知局
数据获取方法及装置的制造方法
【专利摘要】本发明实施例公开了一种数据获取方法及装置,所述方法包括:管理设备确认代理设备是否支持扩展的数据获取操作,并在确认支持后,向所述代理设备发送扩展的数据获取请求;所述数据获取请求中至少携带有过滤条件、起始索引、返回记录数的操作参数;所述管理设备接收到所述代理设备发送的数据响应报文后,从所述数据响应报文中获取符合所述过滤条件的、从所述起始索引起的所述返回记录数个数据。
【专利说明】
数据获取方法及装置
技术领域
[0001] 本发明设及基于肥TCONF协议的网管管理技术,尤其设及一种数据获取方法及装 置。
【背景技术】
[0002] 使用肥TCONF协议实现网络设备配置管理的系统中,肥TCONF管理设备(Manager) 在获取代理设备(Agent)的各类配置管理数据时,通常使用get/getconfig方法获取运些 数据,当数据量很大时,响应报文可能因为太大而无法发出,导致get操作不成功。另外, 在获取数据时,管理设备经常只需要获取网络设备的配置管理信息中某个子树的一部分数 据,而不需要获取全部子树的数据,虽然管理设备可W将子树信息全部获取到之后再进行 数据筛选,但运种数据获取方式效率很低,且无端增大了网络流量。

【发明内容】

[0003] 为解决上述技术问题,本发明实施例提供一种数据获取方法及装置,能方便地获 取代理设备中部分批量数据,数据获取方式灵活。
[0004] 本发明的技术方案是运样实现的: 阳〇化]一种数据获取方法,包括:
[0006] 管理设备确认代理设备是否支持扩展的数据获取操作,并在确认支持后,向所述 代理设备发送扩展的数据获取请求;所述数据获取请求中至少携带有过滤条件、起始索引、 返回记录数的操作参数;
[0007] 所述管理设备接收到所述代理设备发送的数据响应报文后,从所述数据响应报文 中获取符合所述过滤条件的、从所述起始索引起的所述返回记录数个数据。
[0008] 优选地,所述管理设备确认代理设备是否支持扩展的数据获取操作,包括:
[0009] 所述管理设备向所述代理设备发送能力查询请求,并接收所述代理设备发送的能 力响应,根据所述能力响应中携带的能力信息确认所述代理设备是否支持扩展的数据获取 操作。
[0010] 优选地,所述数据为基于可扩展标记语言XML的树状结构数据;
[0011] 所述数据获取请求中至少携带W下参数:
[0012] Filter、Number、Start-index、Filter-index ;
[0013] 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性 type,所述type为subtree时表明数据按子树查询;
[0014] 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于 列表list类型的节点上,用于指示待查询的子树;
[0015] 所述Start-index参数为list类型节点的k巧字段;当有多层list嵌套时,包含 所述Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含 所述Number属性的list的list的key字段用于起始索引或过滤条件;
[0016] 所述Filter-index仅用于list类型的节点上,用于表示list的k巧字段仅用于 起始索引,还是用于起始索引并兼作过滤条件。
[0017] 优选地,所述管理设备确认代理设备是否支持扩展的数据获取操作之前,所述方 法还包括:
[0018] 所述管理设备与所述代理设备建立连接。
[0019] 一种数据获取方法,包括:
[0020] 代理设备接收管理设备发送的扩展的数据获取请求,解析所述数据获取请求,至 少获取所述数据获取请求中携带的过滤条件、起始索引、返回记录数的操作参数;
[0021] 所述代理设备在本地查询出符合所述过滤条件的、从所述起始索引起的所述返回 记录数个数据,并将所查询出的数据封装于所述数据获取请求的响应报文中,向所述管理 设备发送所述响应报文。
[0022] 优选地,代理设备接收管理设备发送的扩展的数据获取请求之前,所述方法还包 括:
[0023] 所述代理设备接收所述管理设备发送的能力查询请求,确认自身是否支持扩展的 数据获取操作,并在确认支持时向所述管理设备发送携带有支持扩展的数据获取操作的信 息能力响应。
[0024] 优选地,所述数据为基于可扩展标记语言XML的树状结构数据;
[00巧]所述请求中至少携带W下参数:
[0026] Filter、Number、Start-index、Filter-index ; 阳027] 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性 type,所述type为subtree时表明数据按子树查询;
[0028] 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于 列表list类型的节点上,用于指示待查询的子树;
[0029] 所述Start-index参数为list类型节点的k巧字段;当有多层list嵌套时,包含 所述Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含 所述Number属性的list的list的key字段用于起始索引或过滤条件;
[0030] 所述Filter-index仅用于list类型的节点上,用于表示list的k巧字段仅用于 起始索引,还是用于起始索引并兼作过滤条件。
[0031] 优选地,代理设备接收管理设备发送的扩展的数据获取请求之前,所述方法还包 括:
[0032] 所述代理设备与所述管理设备建立连接。
[0033] 一种数据获取装置,包括:确认单元、发送单元、接收单元和获取单元,其中:
[0034] 确认单元,用于确认代理设备是否支持扩展的数据获取操作,并在确认支持时触 发所述发送单元;
[0035] 发送单元,用于向所述代理设备发送扩展的数据获取请求;所述数据获取请求中 至少携带有过滤条件、起始索引、返回记录数的操作参数;
[0036] 接收单元,用于接收到所述代理设备发送的数据响应报文;
[0037] 获取单元,用于从所述数据响应报文中获取符合所述过滤条件的、从所述起始索 引起的所述返回记录数个数据。
[0038] 优选地,所述确认单元包括:发送子单元、接收子单元和确认子单元,其中:
[0039] 发送子单元,用于向所述代理设备发送能力查询请求;
[0040] 接收子单元,用于接收所述代理设备发送的能力响应;
[0041] 确认子单元,用于根据所述能力响应中携带的能力信息确认所述代理设备是否支 持扩展的数据获取操作。
[0042] 优选地,所述数据为基于可扩展标记语言XML的树状结构数据;
[0043] 所述数据获取请求中至少携带W下参数:
[0044] Filter、Number、Start-index、Filter-index ;
[0045] 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性 type,所述type为subtree时表明数据按子树查询;
[0046] 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于 列表list类型的节点上,用于指示待查询的子树;
[0047] 所述Start-index参数为list类型节点的k巧字段;当有多层list嵌套时,包含 所述Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含 所述Number属性的list的list的key字段用于起始索引或过滤条件;
[0048] 所述Filter-index仅用于list类型的节点上,用于表示list的k巧字段仅用于 起始索引,还是用于起始索引并兼作过滤条件。
[0049] 一种数据获取装置,包括:接收单元、解析获取单元、查询单元和发送单元,其中:
[0050] 接收单元,用于接收管理设备发送的扩展的数据获取请求;
[0051] 解析获取单元,用于解析所述数据获取请求,至少获取所述数据获取请求中携带 的过滤条件、起始索引、返回记录数的操作参数;
[0052] 查询单元,用于在本地查询出符合所述过滤条件的、从所述起始索引起的所述返 回记录数个数据;
[0053] 发送单元,用于将所查询出的数据封装于所述数据获取请求的响应报文中,向所 述管理设备发送所述响应报文。
[0054] 优选地,所述装置还包括:确认单元; 阳化5] 所述接收单元,还用于接收所述管理设备发送的能力查询请求;
[0056] 所述确认单元,用于确认自身是否支持扩展的数据获取操作,并在确认支持时触 发所述发送单元向所述管理设备发送携带有支持扩展的数据获取操作的信息能力响应。
[0057] 优选地,所述数据为基于可扩展标记语言XML的树状结构数据;
[0058] 所述请求中至少携带W下参数:
[0059] Filter、Number、Start-index、Filter-index ;
[0060] 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性 type,所述type为subtree时表明数据按子树查询;
[0061] 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于 列表list类型的节点上,用于指示待查询的子树;
[00创所述Start-index参数为list类型节点的key字段;当有多层list嵌套时,包含 所述Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含 所述Number属性的list的list的key字段用于起始索引或过滤条件;
[0063] 所述Filter-index仅用于list类型的节点上,用于表示list的k巧字段仅用于 起始索引,还是用于起始索引并兼作过滤条件。
[0064] 本发明实施例中,通过扩展数据获取操作,为数据获取操作增设过滤条件、起始索 引、返回记录数等的操作参数,能向代理设备批量获取部分数据。本发明实施例的技术方 案,采用化整为零方式,使大数据量获取成为可能;且不需要维护状态、断点等信息,管理站 和代理设备实现简便,数据查询粒度可调,查询方式灵活,查询精度高。
【附图说明】 W65] 图1为本发明实施例一的数据获取方法的流程图;
[0066] 图2为本发明实施例二的数据获取方法的流程图;
[0067] 图3为本发明实施例的管理设备与代理设备协商的流程图;
[0068] 图4为本发明实施例的管理设备与代理设备之间交互的流程图;
[0069] 图5为本发明实施例的代理设备进行数据查询的流程图;
[0070] 图6为本发明实施例一的数据获取装置的组成结构示意图;
[0071] 图7为本发明实施例二的数据获取装置的组成结构示意图。
【具体实施方式】
[0072] 为使本发明的目的、技术方案和优点更加清楚明白,W下举实施例并参照附图,对 本发明进一步详细说明。
[0073] W下通过具体示例,进一步阐明本发明实施例的技术方案的实质。
[0074] 图1为本发明实施例一的数据获取方法的流程图,如图1所示,本示例的数据获取 方法包括W下步骤:
[00巧]步骤101,管理设备确认代理设备是否支持扩展的数据获取操作,并在确认支持 后,向所述代理设备发送扩展的数据获取请求。
[0076] 本发明实施例中,所述数据获取请求中至少携带有过滤条件、起始索引、返回记录 数的操作参数。
[0077] 所述数据为基于可扩展标记语言XML的树状结构数据;
[0078] 所述数据获取请求中至少携带W下参数:
[0079] Filter、Number、Start-index、Filter-index ; 阳080] 其中,Filter参数用于指定数据的查询方式,Filter参数包含一个属性type, type为"subtree"表明按子树查询,即查询嵌套包含的子树。
[0081] Number为内容层参数,用于指定查询数据的记录数,即返回的数据记录数。Number 属性只允许出现在list类型的节点上,当有2个或2个W上的list嵌套时,Number属性 出现在哪个list类型的节点上,就说明是查询哪个子树。包含Number属性的list类型的 节点如果包含嵌套list,则记录数为最深嵌套list的记录数。Number属性的取值范围为 0~1000,即每次最多指定返回1000条记录,Number指定为0表示返回数据条目数不限制, 肥TCONF代理设备可根据自身能力和当前数据大小情况进行自适应调节,在保证报文不超 大的前提下尽可能多的返回完整的记录。
[0082] 本发明实施例中,数据获取请求即为get-bulk操作,本发明实施例通过在 肥TCONF协议的操作层新增一种操作,即get-bu化操作,该操作可W指定起始索引和返回 条目数,肥TCONF管理设备通过多次向肥TCONF代理设备下发get-bu化操作,可W实现分批 获取大批量数据,在存在多个list嵌套的情况下,可W指定上层list的索引为过滤条件, 实现仅查询子树中一部分数据的功能。一个get-bulk请求中,最多只能有1个list类型 的节点包含Number属性。
[0083] Start-index参数为内容层参数,其具体表现形式为list类型节点的key字段。 当有多层list嵌套包含时,包含Number属性的list及该list所嵌套包含的list的key 字段总是用于定位起始索引,而包含或嵌套包含该list (包含Number属性的list)的那些 list的key字段可W用作定位起始索引,也可W同时用作过滤条件。用作过滤条件的含义 是,当肥TCONF代理设备顺序查询到的数据和过滤条件不符时,则代理设备自动终止查询, 即查询结束,所W,设置过滤条件可W完成粒度更小、更精确的查询。Start-index可W部分 指定,但当多个list嵌套包含时,如果前一层list的Start-index没有指定完全,则不允 许指定本层list的Start-index。没有指定Start-index时,表示从第1个开始查询。 阳084] Filter-index为内容层参数,只允许出现在list类型的节点上,用于表示该list 的k巧字段仅用于定位起始索引,还是同时用作过滤条件。Filter-index = "no"时,表示 仅用于定位起始索引,Filter-index = "yes"时,表示同时用作过滤条件。用作过滤条件 时,该list的key字段必须全部指定,不允许不指定或部分指定。当多个list嵌套包含时, 仅允许包含Number属性的list的上层list使用Filter-index属性,如果上层list为多 层嵌套包含list,则仅允许最顶层连续嵌套的list使用Filter-index属性。
[00化]代理设备接收管理设备发送的扩展的数据获取请求,解析所述数据获取请求,至 少获取所述数据获取请求中携带的过滤条件、起始索引、返回记录数的操作参数;
[0086] 所述代理设备在本地查询出符合所述过滤条件的、从所述起始索引起的所述返回 记录数个数据,并将所查询出的数据封装于所述数据获取请求的响应报文中,向所述管理 设备发送所述响应报文。
[0087] 步骤102,所述管理设备接收到所述代理设备发送的数据响应报文后,从所述数据 响应报文中获取符合所述过滤条件的、从所述起始索引起的所述返回记录数个数据。
[0088] 本发明实施例中,所述管理设备确认代理设备是否支持扩展的数据获取操作之 前,所述管理设备与所述代理设备建立连接。
[0089] 图2为本发明实施例二的数据获取方法的流程图,如图2所示,本示例的数据获取 方法包括W下步骤:
[0090] 步骤201,代理设备接收管理设备发送的扩展的数据获取请求,解析所述数据获取 请求,至少获取所述数据获取请求中携带的过滤条件、起始索引、返回记录数的操作参数。
[0091] 本发明实施例中,管理设备首先向所述代理设备发送扩展的数据获取请求。
[0092] 管理设备向代理设备发送的扩展的数据获取请求之前,所述方法还包括:
[0093] 所述代理设备接收所述管理设备发送的能力查询请求,确认自身是否支持扩展的 数据获取操作,并在确认支持时向所述管理设备发送携带有支持扩展的数据获取操作的信 息能力响应。
[0094] 本发明实施例中,所述数据为基于可扩展标记语言XML的树状结构数据;所述数 据获取请求中至少携带 W下参数,Filter、Number、Start-index、Filter-index ; 阳O巧]其中,Filter参数用于指定数据的查询方式,Filter参数包含一个属性type, type为"subtree"表明按子树查询,即查询嵌套包含的子树。
[0096] Number为内容层参数,用于指定查询数据的记录数,即返回的数据记录数。Number 属性只允许出现在list类型的节点上,当有2个或2个W上的list嵌套时,Number属性 出现在哪个list类型的节点上,就说明是查询哪个子树。包含Number属性的list类型的 节点如果包含嵌套list,则记录数为最深嵌套list的记录数。Number属性的取值范围为 0~1000,即每次最多指定返回1000条记录,Number指定为0表示返回数据条目数不限制, 肥TCONF代理设备可根据自身能力和当前数据大小情况进行自适应调节,在保证报文不超 大的前提下尽可能多的返回完整的记录。一个get-bulk请求中,最多只能有1个list类 型的节点包含Number属性。
[0097] Start-index参数为内容层参数,其具体表现形式为list类型节点的key字段。 当有多层list嵌套包含时,包含Number属性的list及该list (包含Number属性的list) 所嵌套包含的list的key字段总是用于定位起始索引,而包含或嵌套包含该list的那些 list的key字段可W用作定位起始索引,也可W同时用作过滤条件。用作过滤条件的含义 是,当肥TCONF代理设备顺序查询到的数据和过滤条件不符时,则代理设备自动终止查询, 即查询结束,所W,设置过滤条件可W完成粒度更小、更精确的查询。Start-index可W部分 指定,但当多个list嵌套包含时,如果前一层list的Start-index没有指定完全,贝不允 许指定本层list的Start-index。没有指定Start-index时,表示从第1个开始查询。
[0098] Filter-index为内容层参数,只允许出现在list类型的节点上,用于表示该list 的k巧字段仅用于定位起始索引,还是同时用作过滤条件。Filter-index = "no"时,表示 仅用于定位起始索引,Filter-index = "yes"时,表示同时用作过滤条件。用作过滤条件 时,该list的key字段必须全部指定,不允许不指定或部分指定。当多个list嵌套包含时, 仅允许包含Number属性的list的上层list使用Filter-index属性,如果上层list为多 层嵌套包含list,则仅允许最顶层连续嵌套的list使用Filter-index属性。
[0099] 步骤202,代理设备在本地查询出符合所述过滤条件的、从所述起始索引起的所述 返回记录数个数据,并将所查询出的数据封装于所述数据获取请求的响应报文中,向所述 管理设备发送所述响应报文。
[0100] 本发明实施例中,代理设备接收管理设备发送的扩展的数据获取请求之前,所述 代理设备与所述管理设备建立连接。 阳101] 为了更好地理解上述实施例,W下结合上述实施例的优选实施例和相关附图详细 说明。 阳102]目前肥TCONF协议主要使用get/get-config操作获取配置管理数据,运两种方式 都无法解决在获取大批量数据时,因为报文过大无法发出而导致获取数据失败的问题。 阳103] 本发明实施例通过在肥TCONF协议的操作层新增一种操作,即get-bu化操作,该 操作可W指定起始索引和返回条目数,肥TCONF管理设备通过多次向肥TCONF代理设备下 发get-bu化操作,可W实现分批获取大批量数据,在存在多个list嵌套的情况下,可W指 定上层list的索引为过滤条件,实现仅查询子树中一部分数据的功能。
[0104] get-bu化操作的操作参数可包括 Filter、Number、Start-index 和 Filter-index 等。其中: 阳1化]Filter参数用于指定数据的查询方式,Filter参数包含一个属性type, type为 "sub tree "表明按子树查询,即查询嵌套包含的子树。
[0106] Number为内容层参数,用于指定查询数据的记录数,即返回的数据记录数。Number 属性只允许出现在list类型的节点上,当有2个或2个W上的list嵌套时,Number属性 出现在哪个list类型的节点上,就说明是查询哪个子树。包含Number属性的list类型的 节点如果包含嵌套list,则记录数为最深嵌套list的记录数。Number属性的取值范围为 0~1000,即每次最多指定返回1000条记录,Number指定为0表示返回数据条目数不限制, 肥TCONF代理设备可根据自身能力和当前数据大小情况进行自适应调节,在保证报文不超 大的前提下尽可能多的返回完整的记录。一个get-bulk请求中,最多只能有1个list类 型的节点包含Number属性。
[0107] Start-index参数为内容层参数,其具体表现形式为list类型节点的key字段。 当有多层list嵌套包含时,包含Number属性的list及该list所嵌套包含的list的key 字段总是用于定位起始索引,而包含或嵌套包含该list (包含Number属性的list)的那些 list的key字段可W用作定位起始索引,也可W同时用作过滤条件。用作过滤条件的含义 是,当肥TCONF代理设备顺序查询到的数据和过滤条件不符时,则代理设备自动终止查询, 即查询结束,所W,设置过滤条件可W完成粒度更小、更精确的查询。Start-index可W部分 指定,但当多个list嵌套包含时,如果前一层list的Start-index没有指定完全,贝不允 许指定本层list的Start-index。没有指定Start-index时,表示从第一个开始查询。 阳108] Filter-index为内容层参数,只允许出现在list类型的节点上,用于表示该list 的k巧字段仅用于定位起始索引,还是同时用作过滤条件。Filter-index = "no"时,表示 仅用于定位起始索引,Filter-index = "yes"时,表示同时用作过滤条件。用作过滤条件 时,该list的key字段必须全部指定,不允许不指定或部分指定。当多个list嵌套包含时, 仅允许包含Number属性的list的上层list使用Filter-index属性,如果上层list为多 层嵌套包含list,则仅允许最顶层连续嵌套的list使用Filter-index属性。
[0109] 肥TCONF管理设备可W通过返回条目数判断查询是否结束。如果指定了返回记 录数,则当返回的记录数小于指定的数目时,表示查询结束。如果未指定返回记录数,即由 肥TCONF代理设备自适应调节记录数,则当返回的记录数为0时,表示查询结束。
[0110] 本发明实施例的处理流程包括W下步骤: 阳111 ] 1、管理设备和代理建立连接,建立成功后,双方进行能力交换。
[0112] 2、管理设备使用代理功能发现来确认代理设备是否支持get-bu化操作,确认支 持后,可W使用get-bu化操作,否则不能使用。
[0113] 3、管理设备发送get-bu化操作请求。
[0114] 4、代理设备收到get-bu化操作请求后,解析过滤条件、起始索引、返回记录数等 操作参数,完成数据查询并响应响应报文。
[0115] 5、代理设备向管理设备发送响应报文。
[0116] 6、管理设备收到响应报文后,根据查询结果来确定下一步操作,如果继续查询则 指定下一个get-bu化操作的参数,重复步骤3~6,直到终止查询。
[0117] 图3为本发明实施例的管理设备(Manager)与代理设备(Agent)协商的流程图, 如图3所示,Manager和Agent建立连接并进行能力协商流程包括W下步骤: 阳11引 步骤301 Manager和Agent互发hello报文。
[0119] 步骤302 :协商get-bu化能力。
[0120] 步骤303 :如果get-bulk能力协商成功,则执行步骤304,否则执行步骤305。
[0121] 步骤304:建立连接。
[0122] 步骤305:关闭连接。
[0123] 图4为本发明实施例的管理设备与代理设备之间交互的流程图,如图4所示, get-bu化操作请求的发起和响应流程包括W下步骤:
[0124] 步骤401 ,Manager确定get-bu 1 k操作的参数,例如子树、返回记录数、起始记录的 索引、过滤条件等参数。 阳1巧]步骤402 ,Manager向Agent发送get-bu化操作请求。 阳1%] 步骤403 :Agent接收get-bu化操作请求。
[0127] 步骤404 :Agent解析操作参数,处理get-bu化操作请求。 阳12引 步骤405 :Agent向Client发送get-bu化响应。
[0129] 步骤 406 Manager 接收 get-bu化响应。
[0130] 步骤 407 ,Manager 处理 get-bu化响应。 阳131] 步骤408 =Manager判断是否继续查询数据,继续查询则执行步骤401,否则结束当 前处理。
[0132] 图5为本发明实施例的代理设备进行数据查询的流程图,如图5所示,Agent处理 get-bu化操作请求的流程包括W下步骤:
[0133] 步骤501 :接收get-bu化操作请求。
[0134] 步骤502 :处理get-bu化操作请求。
[0135] 步骤503 :处理过程中如果没有发生异常则跳转步骤504,否则执行步骤507。
[0136] 步骤504 :判断响应报文大小是否超过限制,如果没有超过限制则执行步骤505, 否则执行步骤506。 阳137] 步骤505 :查询数据组织成响应报文,向Manager发送get-bu化响应报文。 阳13引步骤506 :向Manager发送异常报文,将数据量过大导致报文的异常告知Manager。
[0139] 步骤507 :向Manager发送异常报文,将异常信息告知Manager。
[0140] 本发明实施例中,get-bu化操作请求由肥TCONF管理设备发起,肥TCONF代理设备 收到后,按携带的Filte;r、Numbe;r、Sta;rt-index和Filter-index等操作参数指定的查询方 式、查询记录数、记录起始索引、过滤条件等要求获取查询数据,查询完成后将数据返回给 肥TCONF管理设备。 阳141 ] 如果肥TCONF代理设备按肥TCONF管理设备的要求获取的数据量超过报文大小限 制或发送条件限制,报文将无法发出,发生运种情况时,肥TCONF管理设备可调整操作参数 W使得返回数据量减少,例如减小Number参数的数值、设置更精细的过滤条件等,再次发 起get-bulk操作请求。
[0142] 每一个get-bu化操作请求和返回都是独立处理,和前一个操作请求及返回没有 任何关系。
[0143] 当肥TCONF管理设备需要查询的数据量很大时,可W通过发起多次的连续的 get-bu化操作请求来完成。具体方式是:发起下一次get-bu化请求时,使用上一次返回数 据的最后一条记录的索引作为下一次get-bulk请求的起始索引。
[0144] 下面举例说明典型应用场景的查询过程。
[0145] 假设存在W下模型: 阳 146] 阳 147]
[0148] 其中,leafal、leafall、Ieafalll 和 leafa21 分别是 lista、listal、Iistall 和 lista2 的 key。
[0149] 假设该模型存储的数据如下: 阳1加]
[0151] 阳K2]

阳153] 存储数据用表格表示如下表1所示: 阳广'1
阳 1--一
阳156] 示例1 阳157] 假设需要获取Iista所在子树的所有数据,即下表2中粗体线框中所有数据: 阳15引
阳159] 表2
[0160] 因为数据量较多,用get请求可能会导致获取失败,可W使用get-bu化请求,每 次获取部分数据,多次获取,最终达到获取所有数据的目的。初次请求不指定所有list的 key,返回记录数可W设置为固定数目(本例设置为10)也可W设置为由肥TCONF代理设备 自动调节,例如下发如下get-bu化请求:
[0161]
[0 阳163] 返回数据简要表示如下:
[0164] 阳1化]

[0166] 继续请求下一部分数据,W上一次返回的数据的最后一条记录为起始记录,查询 起始记录之后的10条记录: 阳 167]
阳169] 返回数据简要表示如下: 阳 170]
阳171] 返回记录数为5,小于指定返回记录数10,表示查询结束。 阳172] 示例2 阳173] 假设需要查询lista2所在子树的全部数据,即下表3中粗体线框中的数据: 阳 174]
阳1巧]表3
[0176] 可W将Number属性设置在lista2所在节点,发起get-bulk查询,首次查询不指 定lista2上层list (即Iista)的key,返回记录数指定为5,例如下发如下get-bu;Lk操作 请求: 阳 177]
[017引返回数据如下: 阳 179] 阳 180]
阳181] 继续请求下一部分数据,W上一次返回的数据的最后一条记录为起始记录,查询 起始记录之后的5条记录: 阳 182]
阳186] 返回数据记录数为2,小于指定返回记录数5,表示查询结束。 阳187] 示例3
[0188] 假设想精确地获取某个子树的部分数据,例如Iistal中的部分数据,即下表4中 粗体线框中的数据: 阳 189] 阳190」 巧4
阳191] 该部分数据为Iista的key为1时Iistal子树的所有数据,精确获取部分数据可 W通过设置过滤条件完成,例如设置Iista的key为1为过滤条件,每次获取Iistal子树 的部分数据(本例为4条记录),多次获取,则可W完成。初次下发如下get-bu化操作请 求: 阳 192]
[(
阳194] 返回数据如下: 阳1巧]
阳19引 阳199] 返回数据如
阳200] 阳201] 返回数据记录数为3,小于指定返回记录数4,表示查询结束。 阳202] 本发明实施例的技术方案化整为零,使大数据量获取成为可能。Get-bu化操作方 法可完成一次批量获取指定数量的数据,肥TCONF管理站可W通过多次地、连续地使用该方 法,最终达到获取肥TCONF代理设备中大批量数据的目的。 阳203] 本发明实施例的技术方案不需要维护状态、断点等信息,管理站和代理设备实现 简便。多个get-bu化操作之间没有联系和延续性,每一次的请求和响应都是独立的。 阳204] 本发明实施例的技术方案的查询粒度可调,查询方式灵活,查询精度高。该方法可 W指定数据的过滤条件、起始索引和返回记录数等内容,可W满足更灵活的、粒度可调的、 更精确的查询需求。 阳205] 图6为本发明实施例一的数据获取装置的组成结构示意图,如图6所示,本示例的 数据获取装置包括确认单元60、发送单元61、接收单元62和获取单元63,其中: 阳206] 确认单元60,用于确认代理设备是否支持扩展的数据获取操作,并在确认支持时 触发所述发送单元61 ; 阳207] 发送单元61,用于向所述代理设备发送扩展的数据获取请求;所述数据获取请求 中至少携带有过滤条件、起始索引、返回记录数的操作参数; 阳20引接收单元62,用于接收到所述代理设备发送的数据响应报文; 阳209] 获取单元63,用于从所述数据响应报文中获取符合所述过滤条件的、从所述起始 索引起的所述返回记录数个数据。
[0210] 本发明实施例的确认单元60包括:发送子单元(图6中未示出)、接收子单元(图 6中未示出)和确认子单元(图6中未示出),其中: 阳211] 发送子单元,用于向所述代理设备发送能力查询请求;
[0212] 接收子单元,用于接收所述代理设备发送的能力响应;
[0213] 确认子单元,用于根据所述能力响应中携带的能力信息确认所述代理设备是否支 持扩展的数据获取操作。
[0214] 本发明实施例中,所述数据为基于可扩展标记语言XML的树状结构数据;
[0215] 所述数据获取请求中至少携带W下参数:
[0216] Filter、Number、Start-index、Filter-index ; 阳217] 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性 type,所述type为subtree时表明数据按子树查询;
[0218] 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于 列表list类型的节点上,用于指示待查询的子树;
[0219] 所述Start-index参数为list类型节点的k巧字段;当有多层list嵌套时,包含 所述Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含 所述Number属性的list的list的key字段用于起始索引或过滤条件; 阳220] 所述Filter-index仅用于list类型的节点上,用于表示list的k巧字段仅用于 起始索引,还是用于起始索引并兼作过滤条件。 阳221] 本领域技术人员应当理解,图6中所示的数据获取装置中的各处理单元的实现功 能可参照前述数据获取方法及其实施例的相关描述而理解。本领域技术人员应当理解,图6 所示的数据获取装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过 具体的逻辑电路而实现。
[0222] 图7为本发明实施例二的数据获取装置的组成结构示意图,如图7所示,本示例的 数据获取装置包括接收单元70、解析获取单元71、查询单元72和发送单元73,其中: 阳223] 接收单元70,用于接收管理设备发送的扩展的数据获取请求; 阳224] 解析获取单元71,用于解析所述数据获取请求,至少获取所述数据获取请求中携 带的过滤条件、起始索引、返回记录数的操作参数; 阳225] 查询单元72,用于在本地查询出符合所述过滤条件的、从所述起始索引起的所述 返回记录数个数据; 阳226] 发送单元73,用于将所查询出的数据封装于所述数据获取请求的响应报文中,向 所述管理设备发送所述响应报文。 阳227] 在图7所示的数据获取装置的基础上,所述数据获取装置还包括:确认单元(图7 中未示出);
[0228] 所述接收单元70,还用于接收所述管理设备发送的能力查询请求; 阳229] 所述确认单元,用于确认自身是否支持扩展的数据获取操作,并在确认支持时触 发所述发送单元73向所述管理设备发送携带有支持扩展的数据获取操作的信息能力响 应。
[0230] 本发明实施例中,所述数据为基于可扩展标记语言XML的树状结构数据; 阳231] 所述请求中至少携带W下参数:
[0232] Filter、Number、Start-index、Filter-index ; 阳233] 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性 type,所述type为subtree时表明数据按子树查询; 阳234] 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于 列表list类型的节点上,用于指示待查询的子树;
[0235] 所述Start-index参数为list类型节点的k巧字段;当有多层list嵌套时,包含 所述Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含 所述Number属性的list的list的key字段用于起始索引或过滤条件; 阳236] 所述Filter-index仅用于list类型的节点上,用于表示list的k巧字段仅用于 起始索引,还是用于起始索引并兼作过滤条件。 阳237] 本领域技术人员应当理解,图7中所示的数据获取装置中的各处理单元的实现功 能可参照前述数据获取方法及其实施例的相关描述而理解。本领域技术人员应当理解,图7 所示的数据获取装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过 具体的逻辑电路而实现。
[023引在不冲突的前提下,本发明实施例的技术方案之间可W合并。
[0239] 在本发明所提供的几个实施例中,应该理解到,所掲露的方法和智能设备,可W通 过其它的方式实现。W上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅 仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,如:多个单元或组件可W结 合,或可W集成到另一个系统,或一些特征可W忽略,或不执行。另外,所显示或讨论的各组 成部分相互之间的禪合、或直接禪合、或通信连接可W是通过一些接口,设备或单元的间接 禪合或通信连接,可W是电性的、机械的或其它形式的。
[0240] 上述作为分离部件说明的单元可W是、或也可W不是物理上分开的,作为单元显 示的部件可W是、或也可W不是物理单元,即可W位于一个地方,也可W分布到多个网络单 元上;可W根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。 阳241] 另外,在本发明各实施例中的各功能单元可W全部集成在一个处理单元中,也可 W是各单元分别单独作为一个单元,也可W两个或两个W上单元集成在一个单元中;上述 集成的单元既可W采用硬件的形式实现,也可W采用硬件加软件功能单元的形式实现。 阳242] 本领域普通技术人员可W理解:实现上述方法实施例的全部或部分步骤可W通过 应用指令相关的硬件来完成,前述的应用可W存储于一计算机可读取存储介质中,该应用 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读 存储器(ROM, Read-Only Memoir)、随机存取存储器(RAM, Random Access Memoir)、磁碟或 者光盘等各种可W存储应用代码的介质。 阳243] 或者,本发明实施例上述集成的单元如果W软件功能模块的形式实现并作为独立 的产品销售或使用时,也可W存储在一个计算机可读取存储介质中。基于运样的理解,本发 明实施例的技术方案本质上或者说对现有技术做出贡献的部分可WW软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用W使得一台计算机设 备(可W是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部 或部分。而前述的存储介质包括:移动存储设备、只读存储器(ROM, ReacK)nly Memo巧)、随 机存取存储器(RAM, Random Access Memcxry)、磁碟或者光盘等各种可W存储应用代码的介 质。
[0244] W上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明掲露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。
【主权项】
1. 一种数据获取方法,其特征在于,所述方法包括: 管理设备确认代理设备是否支持扩展的数据获取操作,并在确认支持后,向所述代理 设备发送扩展的数据获取请求;所述数据获取请求中至少携带有过滤条件、起始索引、返回 记录数的操作参数; 所述管理设备接收到所述代理设备发送的数据响应报文后,从所述数据响应报文中获 取符合所述过滤条件的、从所述起始索引起的所述返回记录数个数据。2. 根据权利要求1所述的方法,其特征在于,所述管理设备确认代理设备是否支持扩 展的数据获取操作,包括: 所述管理设备向所述代理设备发送能力查询请求,并接收所述代理设备发送的能力 响应,根据所述能力响应中携带的能力信息确认所述代理设备是否支持扩展的数据获取操 作。3. 根据权利要求1或2所述的方法,其特征在于,所述数据为基于可扩展标记语言XML 的树状结构数据; 所述数据获取请求中至少携带以下参数: Filter、Number、Start-index、Filter-index ; 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性type,所 述type为subtree时表明数据按子树查询; 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于列表 list类型的节点上,用于指示待查询的子树; 所述Start-index参数为list类型节点的key字段;当有多层list嵌套时,包含所述 Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含所述 Number属性的list的list的key字段用于起始索引或过滤条件; 所述Filter-index仅用于list类型的节点上,用于表示list的key字段仅用于起始 索引,还是用于起始索引并兼作过滤条件。4. 根据权利要求1所述的方法,其特征在于,所述管理设备确认代理设备是否支持扩 展的数据获取操作之前,所述方法还包括: 所述管理设备与所述代理设备建立连接。5. -种数据获取方法,其特征在于,所述方法包括: 代理设备接收管理设备发送的扩展的数据获取请求,解析所述数据获取请求,至少获 取所述数据获取请求中携带的过滤条件、起始索引、返回记录数的操作参数; 所述代理设备在本地查询出符合所述过滤条件的、从所述起始索引起的所述返回记录 数个数据,并将所查询出的数据封装于所述数据获取请求的响应报文中,向所述管理设备 发送所述响应报文。6. 根据权利要求5所述的方法,其特征在于,代理设备接收管理设备发送的扩展的数 据获取请求之前,所述方法还包括: 所述代理设备接收所述管理设备发送的能力查询请求,确认自身是否支持扩展的数据 获取操作,并在确认支持时向所述管理设备发送携带有支持扩展的数据获取操作的信息能 力响应。7. 根据权利要求5所述的方法,其特征在于,所述数据为基于可扩展标记语言XML的树 状结构数据; 所述请求中至少携带以下参数: Filter、Number、Start-index、Filter-index ; 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性type,所 述type为subtree时表明数据按子树查询; 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于列表 list类型的节点上,用于指示待查询的子树; 所述Start-index参数为list类型节点的key字段;当有多层list嵌套时,包含所述 Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含所述 Number属性的list的list的key字段用于起始索引或过滤条件; 所述Filter-index仅用于list类型的节点上,用于表示list的key字段仅用于起始 索引,还是用于起始索引并兼作过滤条件。8. 根据权利要求5所述的方法,其特征在于,代理设备接收管理设备发送的扩展的数 据获取请求之前,所述方法还包括: 所述代理设备与所述管理设备建立连接。9. 一种数据获取装置,其特征在于,所述装置包括:确认单元、发送单元、接收单元和 获取单元,其中: 确认单元,用于确认代理设备是否支持扩展的数据获取操作,并在确认支持时触发所 述发送单元; 发送单元,用于向所述代理设备发送扩展的数据获取请求;所述数据获取请求中至少 携带有过滤条件、起始索引、返回记录数的操作参数; 接收单元,用于接收到所述代理设备发送的数据响应报文; 获取单元,用于从所述数据响应报文中获取符合所述过滤条件的、从所述起始索引起 的所述返回记录数个数据。10. 根据权利要求9所述的装置,其特征在于,所述确认单元包括:发送子单元、接收子 单元和确认子单元,其中: 发送子单元,用于向所述代理设备发送能力查询请求; 接收子单元,用于接收所述代理设备发送的能力响应; 确认子单元,用于根据所述能力响应中携带的能力信息确认所述代理设备是否支持扩 展的数据获取操作。11. 根据权利要求9或10所述的装置,其特征在于,所述数据为基于可扩展标记语言 XML的树状结构数据; 所述数据获取请求中至少携带以下参数: Filter、Number、Start-index、Filter-index ; 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性type,所 述type为subtree时表明数据按子树查询; 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于列表 list类型的节点上,用于指示待查询的子树; 所述Start-index参数为list类型节点的key字段;当有多层list嵌套时,包含所述 Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含所述 Number属性的list的list的key字段用于起始索引或过滤条件; 所述Filter-index仅用于list类型的节点上,用于表示list的key字段仅用于起始 索引,还是用于起始索引并兼作过滤条件。12. -种数据获取装置,其特征在于,所述装置包括:接收单元、解析获取单元、查询单 元和发送单元,其中: 接收单元,用于接收管理设备发送的扩展的数据获取请求; 解析获取单元,用于解析所述数据获取请求,至少获取所述数据获取请求中携带的过 滤条件、起始索引、返回记录数的操作参数; 查询单元,用于在本地查询出符合所述过滤条件的、从所述起始索引起的所述返回记 录数个数据; 发送单元,用于将所查询出的数据封装于所述数据获取请求的响应报文中,向所述管 理设备发送所述响应报文。13. 根据权利要求12所述的装置,其特征在于,所述装置还包括:确认单元; 所述接收单元,还用于接收所述管理设备发送的能力查询请求; 所述确认单元,用于确认自身是否支持扩展的数据获取操作,并在确认支持时触发所 述发送单元向所述管理设备发送携带有支持扩展的数据获取操作的信息能力响应。14. 根据权利要求12或13所述的装置,其特征在于,所述数据为基于可扩展标记语言 XML的树状结构数据; 所述请求中至少携带以下参数: Filter、Number、Start-index、Filter-index ; 其中,所述Filter参数用于指定数据的查询方式,所述Filter参数包含属性type,所 述type为subtree时表明数据按子树查询; 所述Number参数为用于指定查询数据的记录数,所述Number参数的属性仅用于列表 list类型的节点上,用于指示待查询的子树; 所述Start-index参数为list类型节点的key字段;当有多层list嵌套时,包含所述 Number属性的list所嵌套的list的key字段用于起始索引,而包含或嵌套所述包含所述 Number属性的list的list的key字段用于起始索引或过滤条件; 所述Filter-index仅用于list类型的节点上,用于表示list的key字段仅用于起始 索引,还是用于起始索引并兼作过滤条件。
【文档编号】H04L12/24GK105827424SQ201510007236
【公开日】2016年8月3日
【申请日】2015年1月7日
【发明人】冯冲, 侯小燕
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1