具体实施方式
目前,CWMP(CPE WAN Management Protocol,用户驻地设备广域网管理协议)协议定义了ACS对TR-069设备的管理。而对于非TR-069设备的管理,一种可行的办法是:通过TR-069设备来代理ACS执行对非TR-069设备的管理。例如:ACS通过具体为IGD(Internet Gateway Device,网关)的代理设备实现对非TR-069设备的管理,包括:
网关在本地预置非TR-069设备的数据模型,当非TR-069设备上线后,查找该非TR-069设备的数据模型,生成该数据模型的实例;
ACS通过操作网关的数据模型对非TR-069设备进行管理。ACS可以将对非TR-069设备的管理配置命令发送到网关,网关接收到该管理配置命令后,将其转换为非TR-069设备可以理解的管理配置命令,然后由网关将转换后的管理配置命令发送到非TR-069设备。
其中,通过网关等代理设备来对非TR-069等被代理设备执行有效管理的前提条件是该代理设备能查找到非TR-069设备的数据模型。然而,上述方法只能按照固有的数据模型生成实例,而无法对数据模型进行扩展或生成标准的数据模型,因此在代理设备中预先定义的数据模型往往是有限的。当代理设备需要代理不常见的或新类型的被代理设备时,由于代理设备不存在匹配所述被代理设备的数据模型,将导致代理失败。
本发明实施例提供一种获取被代理设备能力信息的方法、装置及系统,以便于代理设备根据获取的被代理设备的能力信息执行:生成被代理设备标准的数据模型、选取合适的转换协议将管理设备(例如:ACS)的配置管理命令转换成被代理设备支持的命令等操作,从而实现对非TR-069等被代理设备进行有效管理。
下面结合附图对本发明实施例提供的获取被代理设备能力信息的方法、系统及装置进行详细描述:
本实施例首先提供一种获取被代理设备能力的系统及装置。
如图1所示,该系统包括:被代理设备1,代理设备3和管理设备5。
代理设备3,用于向管理设备5上报被代理设备1的信息,获取该管理设备5根据该信息下发的被代理设备1标准的能力信息。代理设备3通过管理设备5获取被代理设备1标准的能力信息。其中,本申请文件所描述的标准主要为TR-069等代理设备所支持的标准,例如:TR-069协议,后续不再赘述。
管理设备5,用于获取被代理设备1的信息,根据该信息获取被代理设备1标准的能力信息,向代理设备3下发被代理设备1标准的能力信息。
如图2所示,该代理设备3包括:
上报模块31,用于向管理设备5上报被代理设备1的信息;
获取模块33,用于获取该管理设备5根据上报模块31上报的信息下发的该被代理设备1标准的能力信息。
其中:该获取模块33可以通过第一获取单元331直接从管理设备5下发的文件和/或命令中获取被代理设备1标准的能力信息;也可以通过第二获取单元333从管理设备5获取指向被代理设备1标准的能力信息的URL(UniformResource Location,统一资源定位器),然后再从该URL获取被代理设备1标准的能力信息。
如图2所示,该代理设备3还可以进一步包括检测模块35和数据模型模块37。检测模块35用于检测被代理设备1,当检测到被代理设备1上线后,触发上报模块31上报被代理设备1的信息。而数据模型模块37则用于当获取模块33获取被代理设备1标准的能力信息后,根据获取的被代理设备1的能力信息生成该代理设备1的数据模型。
其中,当管理设备5下发的被代理设备1的能力信息包括被代理设备1标准的数据模型信息时,如果代理设备3能直接识别该信息,则直接生成被代理设备1的标准的数据模型;而当管理设备5将该被代理设备1标准的数据模型信息以文档的形式发送时,则该代理设备3先解析接收到的文档,从该文档中提取出标准的数据模型信息,然后再根据该信息生成标准的数据模型。代理设备3可以根据非TR-069等被代理设备的标准的能力信息扩展已有的数据模型或生成新的数据模型,扩展了代理设备3的业务范围,摆脱了代理设备3的业务范围受本地预置的数据模型的限制。
如图3所示,该管理设备5包括第一获取模块51、第二获取模块53和发送模块55。
第一获取模块51,用于获取被代理设备1的信息。
第二获取模块53,用于根据第一获取模块51获取的被代理设备1的信息获取被代理设备1标准的能力信息。
其中,第二获取模块53可以通过第一获取单元531根据第一获取模块51获取的被代理设备1的信息直接获取被代理设备标准的能力信息。或者通过第二获取单元533先根据第一获取模块531获取的被代理设备1的信息获取被代理设备1原始的能力信息,然后再将该原始的能力信息转换成标准的能力信息。
发送模块55,用于向代理设备3下发第二获取模块53获取的被代理设备1标准的能力信息。
其中,发送模块55可以通过第一发送单元551向代理设备3下发描述被代理设备1标准的能力信息的文件和/或命令,也可以通过第二发送单元553向代理设备3下发指向被代理设备1标准的能力信息的URL,以便于该代理设备3向该URL请求被代理设备1标准的能力信息。
本发明实施例提供的获取被代理设备能力的装置及系统,代理设备3通过管理设备5获取非TR-069等被代理设备1的能力信息,为管理非TR-069等被代理设备1奠定基础。该代理设备3可以根据获取的能力信息扩展已有的数据模型以代理新的或不常见的非TR-069等被代理设备,以及根据获取的能力信息采用合适的方法对非TR-069等被代理设备1执行有效管理。
本发明实施例还提供一种获取被代理设备能力信息的方法,该方法可应用于图1所示的通信系统中,由代理设备和管理设备合作完成。
如图4所示,代理设备包括:
S401,向管理设备上报被代理设备的信息。
代理设备可以在检测或发现被代理设备上线后先从代理设备获取该被代理设备的信息,然后再上报该被代理设备的信息,也可以是在被代理设备上线前,代理设备根据自身代理业务的需要设置该被代理设备的信息上报给管理设备。
S402,获取该管理设备根据该信息下发的该被代理设备标准的能力信息。该代理设备可以是直接接收该管理设备下发的描述被代理设备标准的能力信息的文件和/或命令,从而根据该文件和/或命令获取被代理设备标准的能力信息;也可以是接收该管理设备下发的指向该被代理设备标准的能力信息的URL,然后再从该URL获取该被代理设备的能力信息。
获取到被代理设备的能力信息后,该代理设备可以根据获取的能力信息扩展已有的数据模型以代理新的或不常见的非TR-069等被代理设备,以及根据获取的能力信息采用合适的方法对非TR-069等被代理设备执行有效管理。
如图5所示,管理设备包括:
S501,获取被代理设备的信息。
其中,接收代理设备上报信息的管理设备可以从该代理设备上报的信息中直接获取部分或全部的被代理设备的信息。该信息包括该被代理设备原始能力信息等。
S502,根据该信息获取被代理设备标准的能力信息。
管理设备可以直接根据获取的被代理设备的信息在本地查找该被代理设备标准的能力信息,例如:被代理设备标准的数据模型信息和支持的协议类型信息等。当该管理设备不能直接查找到该被代理设备标准的能力信息时,先查到该被代理设备原始的能力信息,然后再将该原始的能力信息转换为标准的能力信息。
S503,向代理设备下发该被代理设备标准的能力信息。
管理设备可以向代理设备下发描述被代理设备标准的能力信息的文件和/或命令(例如:RPC命令),也可以向代理设备下发指向该被代理设备标准的能力信息的URL,以便于该代理设备进一步向该URL请求被代理设备标准的能力信息。
完整的流程如图6所示,包括
S601,代理设备向管理设备上报被代理设备的信息。
S602,管理设备获取被代理设备的信息。
S603,管理设备根据被代理设备的信息获取被代理设备标准的能力信息。
S604,管理设备向代理设备下发被代理设备标准的能力信息。该步骤同S503,不再赘述。
S605,代理设备获取被代理设备标准的能力信息。该步骤同S402,不再赘述。
本发明实施例提供的获取被代理设备能力信息的方法,代理设备通过管理设备获取非TR-069等被代理设备的能力信息,为进一步根据获取到的能力信息管理非TR-069等被代理设备提供了保障。
下面结合具体的场景将本发明实施例提供的生成被代理设备数据模型的方法进行详细说明。
本实施例将上述提供生成被代理设备数据模型的方法应用到具体的场景中,代理设备以网关为例、管理设备以ACS为例进行说明。
如图7所示,包括:
S701,网关发现被代理设备,获取被代理设备的信息。该被代理设备包括新的或不常见的非TR-069等被代理设备。
S702,网关将被代理设备信息上报给ACS。上报信息包括:该被代理设备的基本信息和该被代理设备的原始数据模型描述文件等被代理设备的原始的能力信息。其中,该基本信息包括被代理设备标识、厂商、序列号、产品类别等信息。
S703,ACS解析原始数据模型描述文件,得到网关所支持的标准的数据模型描述文件。
S704,ACS向网关发送命令,该命令携带解析得出的被代理设备标准的数据模型信息。
该命令为AddObjectTemplates。如表1至表3所述,该命令包括:将生成的标准的数据模型的路径、名称、以及被代理设备的单个或多个实例对象的参数和所述参数的类型等信息。
表1
参数 |
类型 |
描述 |
ObjectName |
string(256) |
为新增对象模型位置的路径名+新增对象名称。必须以“.”作为结尾。即新增对象上层节点的路径名+“.”+新对象名+“.”。例如,要在InternetGatewayDevice.Services节点下增加新对象ProxiedDevice。则本参数为:InternetGatewayDevice.Services.ProxiedDevice. |
IsMultiObject |
boolean |
新增对象是否是多实例对象:0=新增对象是单实例对象;1=新增对象是多实例对象。 |
ChildObjects |
ChildObjectLists[] |
ChildObjectLists结构体数组(如表2所示)。描述新对象中子对象信息。 |
ParameterList |
ParameterInfoStruct[] |
ParameterInfoStruct结构体数组(如表3所示)。描述新对象中的所有参数信息,包括子对象中的参数信息。 |
ParameterKey |
string(32) |
设置ParameterKey参数的值。 |
表2:
参数 |
类型 |
描述 |
ChildObjectName |
string(256) |
子对象路径名。必须以“.”作为结尾。例如要在InternetGatewayDevice.Services.ProxiedDevice节点下面增加一个子对象DeviceInfoList。则写法为: |
|
|
InternetGatewayDevice.Services.ProxiedDevice.DeviceInfoList. |
IsMultiObject |
boolean |
该子对象是否为多实例对象:0=该子对象是单实例对象;1=该子对象是多实例对象。 |
MaxInstanceNumber |
UnsignedInt[1:] |
对于单实例对象,不返回该值;对于多实例对象,为支持的最大实例数目。 |
表3:
参数 |
类型 |
描述 |
Name |
string(256) |
为参数路径名。 |
Type |
string(32) |
为参数类型。如string(32),UnsignedInt[1:],boolean等。 |
DefaultValue |
anySimpleType |
为参数默认值。 |
ValueRange |
string(256) |
为参数取值范围。对于字符串形式的参数,列出所有可取的字符串。对于连续取值的参数,例如取值范围为 |
|
|
1~100。该参数应为:“1-100”。对于离散取值的参数,例如可取值为A,B,E,G。该参数应为:“A,B,E,G”。各参数值以“,”隔开。对于间断取值的参数,例如可取值为1~100,200~300,500,800。该参数应为:“1-100,200-300,500,800”。 |
Value |
anySimpleType |
为参数当前值。该参数为可选,如果不设定该参数,则被代理设备应该自动为参数选择上面所述默认值。 |
S705,网关接收ACS发送的命令,根据该命令扩展数据模型,且在生成与被代理设备匹配的标准的数据模型后,相应生成该标准的数据模型的实例。
S706,网关向ACS发送响应消息。与AddObjectTemplates命令对应的响应消息可以是表4所示的AddObjectTemplatesResponse。该响应消息用于声明扩展数据模型和生成对应实例的操作是否已经完成,以便于ACS确定网关是否成功生成所述被代理设备的数据模型。如果数据模型生成失败,则ACS重新解析该被代理设备原始的数据模型描述文件或通过其它方式获取该被代理设备标准的数据模型信息,然后指示网关重新生成该被代理设备的标准的数据模型。
表4:
参数 |
类型 |
描述 |
InstanceNumber |
UnsignedInt[1:] |
如果新增对象为单实例对象,不返回该值;如果为多实例对象,CPE自己生成一个实例号(与AddObject相同)。 |
Status |
int[0:1] |
对本RPC方法的成功响应返回一个整数枚举值,定义如下:0=对象已经成功创建;1=对象创建已经验证和执行,但还未应用。 |
本实施例中,网关将被代理设备的数据模型描述文件上报给ACS。ACS直接从网关的上报信息中获取被代理设备原始的数据模型描述文件,然后解析原始数据模型描述文件,根据解析结果指示网关扩展并生成匹配被代理设备的标准的数据模型,通过扩展代理设备的数据模型使代理设备能正确地映射任一被代理设备的数据模型,从而为代理ACS对被代理设备执行远程管理提供了保障。
该场景中,当网关向ACS提供的上报信息中不包括被代理设备原始的数据模型描述文件时,ACS可以根据网关提供的基本信息去查找该被代理设备原始的数据模型描述文件或直接在本地或异地查找标准的数据模型描述文件,例如:CWMP格式XML(Extensible Markup Language,可扩展标记语言)描述文件。其中,ACS还可以根据网关上报的被代理设备的基本信息去进一步获取被代理设备所支持的标准的协议等信息,将该被代理设备支持的标准的协议等信息与标准的数据模型信息一起或分开下发给网关,以便于网关选择合适的RPC方法对该被管理设备执行有效管理。
又例如:被代理设备上线时,网关从被代理设备上获得被代理设备信息,然后向管理设备提供被代理设备信息。管理设备根据被代理设备的信息向网关提供描述被代理设备标准的能力信息的文件,例如:CWMP格式的XML描述文件。网关可以根据根据获得的CWMP等格式的被代理设备的标准能力信息管理该被代理设备。
如图8所示,具体包括:
S801,网关获取被代理设备信息。包括:被代理设备ID(ManufacturerOUI,ProductClass,SerialNumber),和/或特定服务器的URL(该服务器包括:被代理设备生产厂商服务器、ACS或第三方服务器,用来将被代理设备原始能力转换为CWMP格式的被代理设备能力),和/或被代理设备原始能力描述。
其中,当网关无法获取上述特定服务器的URL信息时,管理设备可以向网关提供该URL,网关再向该URL所属的特定服务器请求被代理设备标准的能力信息。而当网关向管理设备上报的信息中包括该URL时,则由管理设备根据该URL去获取被代理设备标准的能力信息,并将获取的被代理设备标准的能力信息提供给网关。
S802,网关向管理设备提供获得的被代理设备信息。
S803,管理设备根据被代理设备信息向网关提供CWMP(TR-069)格式的描述被代理设备标准的能力信息的文件(例如:XML文件)。
管理设备可以通过下述任意一种方式获取描述被代理设备的标准的能力信息的文件,然后将该文件下发给网关。其中,管理设备获取描述被代理设备的标准的能力信息的文件的具体方式包括:
根据被代理设备信息,根据URL等信息直接查找到CWMP格式的描述被代理设备标准的能力信息的文件;或者
根据被代理设备基本信息查找到描述被代理设备原始的能力信息的文件,再通过协议转换将其翻译成CWMP格式的描述被代理设备的标准的能力信息的文件。
S804,网关根据获得的CWMP格式的描述被代理设备的标准的能力信息的文件管理该被代理设备。例如:解析出该文件中被代理设备的标准的数据模型信息,然后根据解析结果生成匹配该被代理设备的标准的数据模型并生成该数据模型的实例。
综上所述,本发明实施例提供的技术方案可以广泛应用于通信和计算机网络中。为代理设备代理管理设备对非TR-069等被代理设备执行管理提供了保障。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。