用户侧设备的配置方法和相关装置转让专利

申请号 : CN201810135574.8

文献号 : CN110138579B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘海星

申请人 : 华为技术有限公司

摘要 :

本申请提供CPE的配置方法和相关装置。该配置方法包括:CPE从ACS接收软件包,该软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同;CPE运行转换模块,根据所述对应关系信息和CPE上使用第一数据模型中的对象来描述的第一配置信息,生成使用第二数据模型中的对象来描述的第二配置信息;CPE运行第一配置模块,基于第二配置信息配置CPE。本申请提供的配置方法和相关装置,可以使得CPE上从一种数据模型平滑迁移到另一种数据模型后,CPE上可以保留用户的配置信息。

权利要求 :

1.一种用户侧设备CPE的配置方法,其特征在于,包括:

所述CPE从自动配置服务器ACS接收软件包,所述软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,所述第一数据模型中的对象的组织方式与所述第二数据模型中的对象的组织方式不相同,所述第一配置模块用于配置使用所述第二数据模型中的对象来描述的配置信息,所述转换模块用于根据所述对应关系信息和使用所述第一数据模型中的对象来描述的配置信息生成使用所述第二数据模型中的对象来描述的配置信息,所述第一数据模型和所述第二数据模型为不同的技术规范所定义的数据模型;

所述CPE运行所述转换模块,根据所述对应关系信息和所述CPE上使用所述第一数据模型中的对象来描述的第一配置信息,生成使用所述第二数据模型中的对象来描述的第二配置信息;

所述CPE运行所述第一配置模块,基于所述第二配置信息配置所述CPE。

2.根据权利要求1所述的配置方法,其特征在于,所述配置方法还包括:

所述CPE从所述ACS接收第三配置信息,所述第三配置信息是使用所述第二数据模型中的对象来描述的;

所述CPE运行所述第一配置模块,基于所述第三配置信息配置所述CPE。

3.根据权利要求2所述的配置方法,其特征在于,所述软件包中还包括第二配置模块,所述第二配置模块用于配置使用所述第一数据模型中的对象来描述的配置信息;

其中,所述转换模块还用根据所述对应关系和使用所述第二数据模型中的对象来描述的配置信息生成使用所述第一数据模型中的对象来描述的配置信息;

所述配置方法还包括:

所述CPE运行所述转换模块,根据所述对应关系信息和所述第三配置信息,生成第四配置信息,所述第四配置信息是使用所述第一数据模型中的对象来描述的;

所述CPE从所述ACS接收第一指令,所述第一指令用于指示所述CPE配置使用所述第一数据模型中的对象来描述的配置信息;

所述CPE根据所述第一指令运行所述第二配置模块,基于所述第四配置信息配置所述CPE。

4.根据权利要求1所述的配置方法,其特征在于,所述软件包中还包括第二配置模块,所述第二配置模块用于配置使用所述第一数据模型中的对象来描述的配置信息;

其中,基于所述第二配置信息配置所述CPE之后,所述配置方法还包括:

所述CPE从所述ACS接收第一指令,所述第一指令用于指示所述CPE配置使用所述第一数据模型中的对象来描述的配置信息;

所述CPE根据所述第一指令,运行所述第二配置模块,基于所述第一配置信息配置所述CPE。

5.根据权利要求1至4中任一项所述的配置方法,其特征在于,所述第一数据模型是技术规范TR-098定义的数据模型,所述第二数据模型为TR-181定义的数据模型。

6.一种通信装置,其特征在于,包括:

接收模块,用于从自动配置服务器ACS接收软件包,所述软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,所述第一数据模型中的对象的组织方式与所述第二数据模型中的对象的组织方式不相同,所述第一数据模型和所述第二数据模型为不同的技术规范所定义的数据模型,所述第一配置模块用于配置使用所述第二数据模型中的对象来描述的配置信息,所述转换模块用于根据所述对应关系信息和使用所述第一数据模型中的对象来描述的配置信息生成使用所述第二数据模型中的对象来描述的配置信息;

处理模块,用于运行所述转换模块,根据所述对应关系信息和所述通信装置上使用所述第一数据模型中的对象来描述的第一配置信息,生成使用所述第二数据模型中的对象来描述的第二配置信息;

所述处理模块还用于运行所述第一配置模块,基于所述第二配置信息配置所述通信装置。

7.根据权利要求6所述的通信装置,其特征在于,所述接收模块还用于从所述ACS接收第三配置信息,所述第三配置信息是使用所述第二数据模型中的对象来描述的;

所述处理模块还用于运行所述第一配置模块,基于所述第三配置信息配置所述通信装置。

8.根据权利要求7所述的通信装置,其特征在于,所述软件包中还包括第二配置模块,所述第二配置模块用于配置使用所述第一数据模型中的对象来描述的配置信息,其中,所述处理模块还用于:运行所述转换模块,根据所述对应关系信息和所述第三配置信息,生成第四配置信息,所述第四配置信息是使用所述第一数据模型中的对象来描述的;

所述接收模块还用于:从所述ACS接收第一指令,所述第一指令用于指示所述通信装置配置使用所述第一数据模型中的对象来描述的配置信息;

所述处理模块还用于:根据所述第一指令运行所述第二配置模块,基于所述第四配置信息配置所述通信装置。

9.根据权利要求6所述的通信装置,其特征在于,所述软件包中还包括第二配置模块,所述第二配置模块用于配置使用所述第一数据模型中的对象来描述的配置信息;

其中,所述处理模块基于所述第二配置信息配置所述通信装置之后,所述接收模块还用于从所述ACS接收第一指令,所述第一指令用于指示所述通信装置配置使用所述第一数据模型中的对象来描述的配置信息;

所述处理模块还用于根据所述第一指令,运行所述第二配置模块,基于所述第一配置信息配置所述通信装置。

10.根据权利要求6至9中任一项所述的通信装置,其特征在于,所述第一数据模型是技术规范TR-098定义的数据模型,所述第二数据模型为TR-181定义的数据模型。

11.根据权利要求6至9中任一项所述的通信装置,其特征在于,所述通信装置为用户侧设备CPE。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于通信装置执行的程序代码,所述程序代码包括用于执行权利要求1至5中任一项所述的配置方法的指令。

说明书 :

用户侧设备的配置方法和相关装置

技术领域

[0001] 本申请涉及数字用户线路领域,并且更具体地,涉及用户侧设备(customer premises equipment,CPE)的配置方法和相关装置。

背景技术

[0002] 广域网管理协议(CPE WAN management protocol,CWMP)是由数字用户线路(digital subscriber’s line,DSL)论坛发起开发的技术规范之一,编号为TR-069,所以又被称为TR-069协议。DSL论坛后改名为BBF论坛。
[0003] TR-069协议提供了对下一代网络中的CPE(例如,家庭网关设备、路由器和机顶盒等)进行管理配置的通用框架、消息规范、管理方法和数据模型。
[0004] 以TR-069协议为基础,DSL论坛开发了一系列配套的规范来定义数据模型。例如,DSL论坛开发技术规范TR-098,技术规范TR-098定义CPE的数据模型。
[0005] 随着CPE承载的业务越来越多,技术规范TR-098定义的数据模型已经难以满足当前业务需求,因此,BBF论坛开发了新的技术规范TR-181,TR-181定义了新的数据模型。
[0006] 由于现网中已经大规模应用的CPE支持的是TR-098定义的数据模型,因此,在不更换CPE以节约硬件成本的情况下,如果运营商要在CPE上部署TR-181定义的数据模型,就需要将现网中的CPE上TR-098定义的数据模型平滑迁移到TR-181定义的数据模型上来。
[0007] 现有技术中,将TR-098定义的数据模型平滑迁移到TR-181定义的数据模型的流程包括以下步骤:
[0008] (1)自动配置服务器(auto-configuration server,ACS)向CPE发送支持TR-098定义的数据模型的软件版本;
[0009] (2)ACS向CPE发送指令,CPE根据该指令恢复出厂设置;
[0010] (3)CPE恢复出厂设备并重启后,ACS向CPE重新下发配置信息。
[0011] 上述方法中,CPE升级到支持TR-181定义的数据模型的软件版本后,CPE上只能恢复出厂配置以及运营商的配置,但是会丢失用户的配置。

发明内容

[0012] 本申请提供CPE的配置方法、相关装置和计算机程序产品,使得CPE上从一种数据模型平滑迁移到另一种数据模型后,CPE上可以保留用户的配置信息。
[0013] 第一方面,本申请提供了一种CPE的配置方法。该配置方法包括:CPE从ACS接收软件包,该软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息;CPE运行转换模块,根据所述对应关系信息和CPE上使用第一数据模型中的对象来描述的第一配置信息,生成使用第二数据模型中的对象来描述的第二配置信息;CPE运行第一配置模块,基于第二配置信息配置CPE。
[0014] 该配置方法中,CPE根据第一数据模型和第二数据模型中的对象之间的对应关系信息以及CPE上原有的、使用第一数据模型中的对象来描述的第一配置信息得到使用第二数据模型中的对象的第二配置信息,并基于第二配置信息配置CPE,使得CPE从第一数据模型升级到第二数据模型后,还可以保留CPE保留用户配置的信息。
[0015] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。其中,基于第二配置信息配置CPE之后,所述配置方法还包括:CPE从ACS接收第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息;CPE根据第一指令,运行第二配置模块,基于所述第一配置信息配置CPE。
[0016] 该实现方式中,该实现方式使得CPE可以回退到支持第一数据模型的应用场景。
[0017] 在一种可能的实现方式中,该配置方法还包括:CPE从ACS接收第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的;CPE运行第一配置模块,基于第三配置信息配置CPE。
[0018] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。其中,所述配置方法还包括:CPE运行所述转换模块,根据所述对应关系信息和第三配置信息,生成第四配置信息,第四配置信息是使用第一数据模型中的对象来描述的;CPE从ACS接收第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息;CPE根据第一指令运行第二配置模块,基于第四配置信息配置CPE。
[0019] 该实现方式使得CPE可以回退到支持第一数据模型的应用场景。并且,在CPE回退后,CPE上还可以保留在支持第二数据模型时配置的信息。
[0020] 第二方面,本申请提供了一种CPE的配置方法。该配置方法包括:ACS确定软件包,所述软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息;ACS向CPE发送所述软件包。
[0021] 该配置方法使得CPE可以根据第一数据模型与第二数据模型中的对象之间的对应关系和CPE上原有的第一配置信息,生成第二配置信息,从而使得CPE从支持第一数据模型升级到支持第二数据模型后,还可以保留CPE用户配置的信息。
[0022] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。相应地,该配置方法还包括:ACS向CPE发送第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息。
[0023] 该实现方式中,该实现方式使得CPE可以回退到支持第一数据模型的应用场景。
[0024] 在一种可能的实现方式中,该配置方法还包括:ACS向CPE发送第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的。
[0025] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。相应地,所述转换模块还用根据所述对应关系和使用所述第二数据模型中的对象来描述的配置信息生成使用所述第一数据模型中的对象来描述的配置信息;所述配置方法还包括:ACS向CPE发送第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息。
[0026] 该实现方式使得CPE可以回退到支持第一数据模型的应用场景。并且,在CPE回退后,CPE上还可以保留在支持第二数据模型时配置的信息。
[0027] 第三方面,本申请提供了一种通信装置。该通信装置包括用于执行第一方面中的配置方法的模块。该通信装置包括的模块可以通过软件和/或硬件方式实现。
[0028] 在一种可能的设计中,该通信装置可以包括处理器和接收器。
[0029] 其中,接收器用于从ACS接收软件包,该软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息。
[0030] 处理器用于运行转换模块,根据所述对应关系信息和该通信装置上使用第一数据模型中的对象来描述的第一配置信息,生成使用第二数据模型中的对象来描述的第二配置信息。
[0031] 处理器还用于运行第一配置模块,基于第二配置信息配置该通信装置。
[0032] 可选地,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息,且处理器基于第二配置信息配置该通信装置之后,接收器还用于从ACS接收第一指令,第一指令用于指示该通信装置配置使用第一数据模型中的对象来描述的配置信息;处理器还用于根据第一指令,运行第二配置模块,为该通信装置配置所述第一配置信息。
[0033] 可选地,接收器还用于接收第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的;处理器还用于运行第一配置模块,基于第三配置信息配置该通信装置。
[0034] 可选地,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。其中,处理器还用于运行所述转换模块,根据所述对应关系信息和第三配置信息,生成第四配置信息,第四配置信息是使用第一数据模型中的对象来描述的;接收器还用于从ACS接收第一指令,第一指令用于指示该通信装置配置使用第一数据模型中的对象来描述的配置信息;处理器还用于根据第一指令运行第二配置模块,基于第四配置信息配置该通信装置。
[0035] 可选地,该通信装置还可以包括发送器。该发送器用于向ACS发送信息。
[0036] 在一种可能的设计中,该通信装置为芯片,包括至少一个处理器和输入接口。
[0037] 输入接口用于从ACS接收软件包,该软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息。
[0038] 处理器用于运行转换模块,根据所述对应关系信息和该通信装置上使用第一数据模型中的对象来描述的第一配置信息,生成使用第二数据模型中的对象来描述的第二配置信息。
[0039] 处理器还用于运行第一配置模块,基于第二配置信息配置该通信装置。
[0040] 可选地,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息,且处理器基于第二配置信息配置该通信装置之后,输入接口还用于从ACS接收第一指令,第一指令用于指示该通信装置配置使用第一数据模型中的对象来描述的配置信息;处理器还用于根据第一指令,运行第二配置模块,为该通信装置配置所述第一配置信息。
[0041] 可选地,输入接口还用于接收第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的;处理器还用于运行第一配置模块,基于第三配置信息配置该通信装置。
[0042] 可选地,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。其中,处理器还用于运行所述转换模块,根据所述对应关系信息和第三配置信息,生成第四配置信息,第四配置信息是使用第一数据模型中的对象来描述的;输入接口还用于从ACS接收第一指令,第一指令用于指示该通信装置配置使用第一数据模型中的对象来描述的配置信息;处理器还用于根据第一指令运行第二配置模块,基于第四配置信息配置该通信装置。
[0043] 可选地,该通信装置还可以包括发送器。该发送器用于向ACS发送信息。
[0044] 可选地,该通信装置还可以包括输出接口。该输出接口用于向ACS发送信息。
[0045] 在上述各种设计中,可选地,该通信装置还可以包括存储器。该存储器用于存储处理器执行的程序代码。
[0046] 可选地,第三方面中的通信装置可以是CPE。
[0047] 第四方面,本申请提供了一种通信装置。该通信装置包括用于执行第二方面中的配置方法的模块。该通信装置包括的模块可以通过软件和/或硬件方式实现。
[0048] 在一种可能的设计中,该通信装置包括处理器和发送器。
[0049] 其中,处理器用于确定软件包,所述软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息。
[0050] 发送器用于向CPE发送所述软件包。
[0051] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。相应地,发送器还用于向CPE发送第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息。
[0052] 在一种可能的实现方式中,发送器还用于向CPE发送第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的。
[0053] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。相应地,所述转换模块还用根据所述对应关系和使用所述第二数据模型中的对象来描述的配置信息生成使用所述第一数据模型中的对象来描述的配置信息;发送器还用于向CPE发送第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息。
[0054] 可选地,该通信装置还可以包括接收器。该接收器用于接收CPE发送的信息。
[0055] 在一种可能的设计中,该通信装置为芯片,包括至少一个处理器和输入接口。
[0056] 其中,处理器用于确定软件包,所述软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息。
[0057] 输出接口用于向CPE输出所述软件包。
[0058] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。相应地,输出接口还用于向CPE发送第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息。
[0059] 在一种可能的实现方式中,输出接口还用于向CPE发送第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的。
[0060] 在一种可能的实现方式中,所述软件包中还包括第二配置模块,第二配置模块用于配置使用第一数据模型中的对象来描述的配置信息。相应地,所述转换模块还用根据所述对应关系和使用所述第二数据模型中的对象来描述的配置信息生成使用所述第一数据模型中的对象来描述的配置信息;输出接口还用于向CPE发送第一指令,第一指令用于指示CPE配置使用第一数据模型中的对象来描述的配置信息。
[0061] 可选地,该通信装置还可以包括输入接口。该输入接口用于接收CPE发送的信息。
[0062] 在上述各种设计中,可选地,该通信装置还可以包括存储器。该存储器用于存储处理器执行的程序代码。
[0063] 可选地,第四方面中的通信装置可以是ACS。
[0064] 第五方面,本申请提供了一种计算机可读存储介质。该计算机可读存储介质中存储用于通信装置执行的程序代码。该程序代码包括用于执行第一方面或第二方面中的配置方法的指令。
[0065] 第六方面,本申请提供了一种包含指令的计算机程序产品。当该计算机程序产品在通信装置上运行时,使得通信装置执行第一方面或第二方面中的配置方法。
[0066] 在上述各方面中,第一技术规范可以为TR-098,第二技术规范可以为TR-181。

附图说明

[0067] 图1是可以应用本申请的配置方法的网络系统的示意性架构图;
[0068] 图2是TR-098定义的数据模型的示意图;
[0069] 图3是TR-098定义的数据模型的示意图;
[0070] 图4是本申请一个实施例的配置方法的示意性流程图;
[0071] 图5是数据模型之间的对象关系的示意图;
[0072] 图6是本申请一个实施例的配置方法的示意性流程图;
[0073] 图7是本申请一个实施例的配置方法的示意性流程图;
[0074] 图8是本申请一个实施例的通信装置的示意性结构图。

具体实施方式

[0075] 下面将结合附图,对本申请中的技术方案进行描述。
[0076] 如图1所示,可以应用本申请的配置方法的网络系统中可以包括ACS 110和CPE 120。CPE 120可以是家庭网关设备、路由器和机顶盒等受ACS 110管理的用户设备中的任意一种。其中,与CPE 120相关的配置、诊断、升级等工作均由ACS 110来完成。
[0077] ACS 110对CPE 120进行管理配置的通用框架、消息规范、管理方法和数据模型等由TR-069协议提供。
[0078] 以TR-069协议为基础,DSL论坛开发了TR-098。TR-098定义了ACS 110对CPE 120进行管理配置的一种数据模型。为了后续描述方便,将TR-098定义的数据模型称为第一数据模型。第一数据模型的一种示例如图2所示。
[0079] 如图2所示,第一数据模型包括四个层次。其中,第一层次包括一个节点,即网关设备;第二层次包括三个节点,分别为CPE侧的管理对象、ACS侧的管理对象和基础服务的管理对象;第三层次包括两个节点,分别为广域网(wide area network,WAN)虚拟接口和上行DSL相关的配置对象,这两个节点为ACS侧的管理对象的子节点;第四层次包括两个节点,分别为互联网协议(internet protocol,IP)类型的广域网虚拟接口和点对点协议(point to point protocol,PPP)类型的广域网虚拟接口,这两个节点为广域网虚拟接口的子节点。
[0080] CPE侧的管理对象的示例包括局域网(local area network,LAN)端口和/或无线保真(wireless-fidelity,wifi)端口。
[0081] ACS侧的管理对象的示例包括广域网端口和/或物理上行口。
[0082] 基础服务的管理对象的示例包括文件传输协议(file transfer protocol,FTP)业务和/或语音业务。
[0083] 可以将第一数据模型中的每个节点称为为一个对象,每个对象可以有自己的对象名。例如,网关设备的对象名可以为InternetGatewayDevice,CPE侧的管理对象的对象名可以为LANDevic,ACS侧的管理对象的对象名可以为WANDevice,基础服务的管理对象的对象名可以为Services,广域网虚拟接口的对象名可以为WANConnectionDevice,上行DSL相关的配置对象的对象名可以为WANDSLInterfaceConfig,IP类型的广域网虚拟接口的对象名可以为WANIPConnection,PPP类型的广域网虚拟接口的对象名可以为WANPPPConnection。
[0084] 每个对象可以拥有自己的属性。例如,CPE侧的管理对象为wifi端口时,该管理对象可以包括连接状态(ConnectionStatus)、名称(Name)、重置(Reset)、账号(Username)、密码(Password)和外部IP地址(EnternalIPAddress)等属性。
[0085] 若ACS 110想要关闭CPE 120的PPP类型的广域网虚拟接口,则ACS 110可以向CPE 120发送配置信息“InternetGatewayDevice.LANDevic.ConnectionStatus=0”。
[0086] CPE 120从ACS 110接收该配置信息后,可以运行CPE 120上的配置模块,将该配置信息持久化存储在CPE 120上,并向CPE 120的wifi端口发送关闭指令。Wifi端口收到该关闭指令,关系wifi端口。
[0087] 但是,随着CPE承载的业务越来越多,TR-098定义的数据模型已经难以满足当前业务需求,因此,BBF论坛基于TR069,开发了TR-181。TR-181定义了ACS 110对CPE 120进行管理配置的一种新数据模型。为了后面描述方便,将该数据模型称为第二数据模型。第二数据模型的一种示例如图3所示。
[0088] 图3所示的第二数据模型包括一个根节点和多个子节点。根节点为网管设备,6个子节点分别为CPE侧的管理对象、接口关系描述表、上行DSL线路相关的配置对象、IP接口、PPP接口和基础服务的管理对象,这六个节点网管设备的子节点。
[0089] 由图2和图3可以看出,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同。图2所示的第一数据模型中,对象的层级关系直接体现了对象的层次关系。而如图3所示的第二数据模型中,每个对象都是一个独立的功能,可以通过多个对象的引用和组装来描述一个完整的功能。
[0090] CPE侧的管理对象的示例包括LAN端口和/或wifi端口。
[0091] 基础服务的管理对象的示例包括FTP业务和/或语音业务。
[0092] 接口关系描述表用于描述接口之间的关系。
[0093] 可以将第二数据模型中的每个节点称为为一个对象,每个对象可以有自己的对象名。例如,将图3所示的第二数据模型中的每个节点抽象为一个对象后,网关设备的对象名可以为Device,CPE侧的管理对象的对象名为LANDevice,接口关系描述表的对象名可以为InterfaceStack,上行DSL线路相关的配置对象为对象名可以为DSLLine,IP接口的对象名可以为IPInterface,PPP接口的对象名可以为PPPInterface,基础服务的管理对象的对象名可以为Service。
[0094] 第二数据模型中的每个对象可以拥有自己的属性。例如,CPE侧的管理对象为wifi端口时,该管理对象可以包括ConnectionStatus、Name、Reset、Username、Password和IP地址(IPAddress)等属性。
[0095] 在现网中,由于已经大规模应用的CPE支持的是TR-098定义的第一数据模型。在不更换CPE以节约硬件成本的情况下,如果运营商要在CPE上部署TR-181定义的第二数据模型,就需要将现网中的CPE上TR-098定义的第一数据模型平滑迁移到TR-181定义的第二数据模型上来。
[0096] 使用本申请提出的配置方法来将CPE上现有的第一数据模型迁移为第二数据模型的一个实施例的如图4所示。该配置方法包括S410、S420和S430。
[0097] 应理解,图4示出了该配置方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图4中的各个操作的变形。此外,图4中的各个步骤可以按照与图4呈现的不同的顺序来执行,并且有可能并非要执行图4中的全部操作。
[0098] S410,CPE从ACS接收软件包,该软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,第一数据模型中的对象的组织方式与第二数据模型中的对象的组织方式不相同,第一配置模块用于配置使用第二数据模型中的对象来描述的配置信息,转换模块用于根据所述对应关系信息和使用第一数据模型中的对象来描述的配置信息生成使用第二数据模型中的对象来描述的配置信息。
[0099] 相应地,CPE从ACS接收软件包。
[0100] 该ACS可以是图1中所示的ACS 110,该CPE可以是图1中所示的CPE 120。该第一技术规范可以是TR-098,该第二技术规范可以是TR-181。
[0101] 第一技术规范为TR-098,第二技术规范为TR-181时,第一数据模型的一种示例如图2所示,第二数据模型的一种示例如图3所示。
[0102] 以图2所示的数据模型为第一数据模型,图3所示的数据模型为第二数据模型为例,第一数据模型中的对象与第二数据模型中的对象的对应关系的一种示例如图5所示。
[0103] 图5所示的对应关系中,第一数据模型中的上行DSL相关的配置对象与第二数据模型中的上行DSL线路相关的配置对象对应,第一数据模型中的IP类型的广域网虚拟接口与第二数据模型中的IP接口对应,第一数据模型中的PPP类型的广域网虚拟接口与第二数据模型中的PPP接口对应。
[0104] 第一数据模型中的对象的属性和第二数据模型中的对象的属性不是一一对应时,软件包中还可以包括第一数据模型中的对应的属性与第二数据模型中的对象的属性的对应关系信息。
[0105] 第一数据模型中的对象的属性与第二数据模型中的对象的属性之间的对应关系的一种示例如表1所示。
[0106] 表1第一数据模型中的对象的属性与第二数据模型中的对象的属性之间的对应关系
[0107]
[0108] S420,CPE运行软件包中的转换模块,根据软件包中的对应关系信息和CPE上使用第一数据模型中的对象来描述的第一配置信息,生成使用第二数据模型中的对象来描述的第二配置信息。
[0109] 例如,以图2所示的数据模型为第一数据模型、以表1中包括的属性为例,第一配置信息示例如下:
[0110] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.ConnectionStatus=“1”;
[0111] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.Name=“第一IP接口”;
[0112] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.Reset=“0”;
[0113] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.Username=“123456”;
[0114] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.Password=“000000”;
[0115] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.ConnectionType=“IPV4”;
[0116] InternetGatewayDevice.WANDevice{2}.WANConnectionDevice{1}.WANPPPConnection{1}.ExternalIPAddress=“196.121.10.221”
[0117] 以图3所示的数据模型为第二数据模型,其中,网关设备的对象名为“Device”,PPP接口的对象名为“PPP.Interface”,且以表1所示的PPP接口的属性为例,CPE运行软件包中的转换模块后,根据表1所示的对应关系,得到的示例性第二配置信息的示例如下:
[0118] Device.PPP.Interface{2}.ConnectionStatus=“1”;
[0119] Device.PPP.Interface{2}.Name=“第一IP接口”;
[0120] Device.PPP.Interface{2}.Reset=“0”;
[0121] Device.PPP.Interface{2}.Username=“123456”;
[0122] Device.PPP.Interface{2}.Password=“000000”;
[0123] Device.IP.Interface{1}.ConnectionType=“IPV4”;
[0124] Device.IP.Interface{1}.IPAddress=“196.121.10.221”
[0125] 上述示例性配置信息中的“{}”中的数字为对象的实例号。也就是说,CPE在根据数据模型间的对应关系进行转换配置信息的数据模型时,还需要转换配置信息对应的对象的实例号。
[0126] 若图3所示的第二数据模型中,接口关系描述表的对象名称为“InterfaceStack”,则CPE运行软件包中的转换模块,生成上述示例性的第一配置信息后,还可以生成如下配置信息:
[0127] Device.InterfaceStack{2}={Device.PPP.Interface{2},Device.IP.Interface{1}}
[0128] 该配置信息指示Device.PPP.Interface{2}和Device.IP.Interface{1}为同一个接口的配置信息。
[0129] 由上述示例可以可出,转换模块需要实现对象的属性、属性值之间的转换以及对象的实例号之间的转换。
[0130] 转换模块包括的函数的一种示例性定义如下:
[0131] int Module-Object-Convert(原始对象*pBlock1,目的对象*pBlock2List)[0132] 其中,pBlock1指针指向待转换的对象实例,即第一数据模型中的对象实例;pBlock2List指针指向转换后的对象实例,即第二数据模型中的对象实例。
[0133] 例如,第一数据数据模型中的对象与第二数据模型中的对象不是一一对应关系或者存在参数值类型的转换时,可以按照上述接口注册转换函数。
[0134] CPE生成第二配置信息后,可以将第二配置信息持久化保存起来,避免后续每次启动CPE时需要重新转换。
[0135] S430,CPE运行第一配置模块,基于第二配置信息配置CPE。
[0136] CPE运行第一配置模块,基于第二配置信息配置CPE包括:将第二配置信息解析为动作,下发到硬件。例如第二配置信息包括Device.PPP.Interface{2}.ConnectionStatus=“1”时,CPE运行第一配置模块后,可以向端口发送动作,打开该端口的通信功能。
[0137] CPE运行第一配置模块,基于第二配置信息配置CPE还可以包括将第二配置持久化到CPE的存储介质中。
[0138] 本申请实施中CPE进行数据模型中的对象的转换以及配置信息的配置的一种示例性流程图如图6所示。应理解,图6示出了该配置方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图6中的各个操作的变形。此外,图6中的各个步骤可以按照与图6呈现的不同的顺序来执行,并且有可能并非要执行图6中的全部操作。
[0139] S601,CPE创建空白的使用TR181定义的第二数据模型描述的配置文件。
[0140] S602,CPE读取CPE上存储的使用TR098定义的第一数据模型描述的配置文件中的对象。
[0141] S603,CPE读取当前对象的一个实例。
[0142] S604,CPE在软件包中的对应关系信息中查找当前对象对应的对应关系。
[0143] S605,CPE判断软件包中是否注册该对应关系的转换函数。若是,则执行S606,否则执行S607。
[0144] S606,CPE调用转换函数,根据当前实例生成第二数据模型中对应的对象的实例。
[0145] S607,CPE直接将当前实例中的数据拷贝到第二数据模型中对应的对象的实例中。
[0146] S608,CPE调用软件包中第一配置模块,为CPE配置第二数据模型对应的实例中记录的配置信息。
[0147] S609,CPE判断当前对象中的所有实例是否转换完毕。若是,则执行603,否则执行S611。
[0148] S610,CPE判断第一数据模型中所有对象是否转换完毕。若是,则执行S612,否则执行S602。
[0149] S611,取当前对象的下一个实例进行转换处理。
[0150] S612,第一数据模型中的下一个对象进行转换处理。
[0151] S613,转换结束。
[0152] 可选地,第一配置模块还可以用于:处理来自ACS的使用第二数据模型中的对象来描述的配置信息,将该配置信息解析为内部动作下发到硬件,以及存储该配置信息。
[0153] 这种情况下,本申请实施例的配置方法还包括:CPE从ACS接收第三配置信息,第三配置信息是使用第二数据模型中的对象来描述的;CPE运行第一配置模块,基于第三配置信息配置CPE。
[0154] 为了使得CPE从支持第一数据模型的低版本软件升级到支持第二数据模型的高版本软件后,还能保持软件版本的降低的兼容性以及其他配置通道的兼容性,CPE从ACS接收的软件包括还可以包括第二配置模块,第二配置模块用于:处理来自ACS的使用第一数据模型中的对象来描述的配置信息,将该配置信息解析为内部动作下发到硬件,存储该配置信息。这种情况下,软件包中的转换模块还用于根据软件包中的对应关系信息和CPE中使用第二数据模型中的对象来描述的配置信息生成使用第一数据模型中的对象来描述的配置信息。
[0155] 下面以第一数据模型为TR098定义的数据模型,第二数据模型为TR181定义的数据模型为例,结合图7,介绍本申请进行数据模型降级的一个实施例的示意性流程图。
[0156] S701,CPE读取第二数据模型中的对象。
[0157] S702,CPE检查该对象的属性的数据是否已经准备完。若是,则执行S703,否则执行S705。
[0158] 其中,对象的属性的数据是否已经准备完可以指该对象的所有属性的数据是否均已具备。
[0159] S703,CPE运行转换模块,根据对应关系信息,直接将该对象的属性中配置信息拷贝到第一数据模型中对应的对象的属性中,或者通过转换函数得到第一数据模型中与该对象对应的对象的属性中。
[0160] S704,CPE运行第二配置模块,将转换得到的配置信息解析为内部动作下发到硬件,并持久化存储该配置信息。
[0161] S705,转换结束。
[0162] 本申请一个实施例的通信装置的示意性结构图如图8所示。应理解,图8示出的通信装置800仅是示例,本申请实施例的通信装置还可包括其他模块或单元,或者包括与图8中的各个模块的功能相似的模块,或者并非要包括图8中所有模块。
[0163] 通信装置800可以包括接收模块810和处理模块820。
[0164] 通信装置800可以用于实现上述各个实施例中的配置方法中由CPE实现的功能。
[0165] 例如,接收模块810用于从ACS接收软件包,所述软件包中包括第一数据模型中的对象与第二数据模型中的对象之间的对应关系信息、第一配置模块和转换模块,所述第一数据模型中的对象的组织方式与所述第二数据模型中的对象的组织方式不相同,所述第一配置模块用于配置使用所述第二数据模型中的对象来描述的配置信息,所述转换模块用于根据所述对应关系信息和使用所述第一数据模型中的对象来描述的配置信息生成使用所述第二数据模型中的对象来描述的配置信息。
[0166] 处理模块820,用于运行所述转换模块,根据所述对应关系信息和所述通信装置上使用所述第一数据模型中的对象来描述的第一配置信息,生成使用所述第二数据模型中的对象来描述的第二配置信息。
[0167] 处理模块820还用于运行所述第一配置模块,为所述通信装置配置所述第二配置信息。
[0168] 可选地,接收模块810还用于从所述ACS接收第三配置信息,所述第三配置信息是使用所述第二数据模型中的对象来描述的。
[0169] 相应地,处理模块820还用于运行所述第一配置模块,为所述通信装置配置所述第三配置信息。
[0170] 可选地,所述软件包中还包括第二配置模块,所述第二配置模块用于配置使用所述第一数据模型中的对象来描述的配置信息。
[0171] 相应地,处理模块820还用于:运行所述转换模块,根据所述对应关系信息和所述第三配置信息,生成第四配置信息,所述第四配置信息是使用所述第一数据模型中的对象来描述的。
[0172] 接收模块810还用于:从所述ACS接收第一指令,所述第一指令用于指示所述通信装置配置使用所述第一数据模型中的对象来描述的配置信息。
[0173] 处理模块820还用于:根据所述第一指令运行所述第二配置模块,基于第四配置信息配置所述通信装置。
[0174] 可选地,所述软件包中还包括第二配置模块,所述第二配置模块用于配置使用所述第一数据模型中的对象来描述的配置信息。
[0175] 相应地,通信装置800配置所述第二配置信息之后,接收模块810还用于从所述ACS接收第一指令,所述第一指令用于指示所述CPE配置使用所述第一数据模型中的对象来描述的配置信息。
[0176] 处理模块810还用于根据所述第一指令,运行所述第二配置模块,为所述CPE配置所述第一配置信息。
[0177] 可选地,所述第一数据模型是技术规范TR-098定义的数据模型,所述第二数据模型为TR-181定义的数据模型。
[0178] 可选地,通信装置800为CPE。
[0179] 可选地,通信装置800还可以包括发送模块830。发送模块830用于向ACS发送信息。
[0180] 可选地,通信装置800还可以包括存储模块,用于存储处理模块820运行的各个配置模块、转换模块,以及上述各个配置信息和对应关系信息。
[0181] 可选地,接收模块810的一种实例为接收器,发送模块830的一种示例为发送器,处理模块820的一种示例为处理器,存储模块的一种示例为存储器。其中,接收器和发送器可以集成在一起,称为收发器。存储器可以集成在处理器中。
[0182] 可选地,通信装置800的一种示例为芯片。其中,接收模块810的一种示例为输入接口,发送模块830的一种示例为输出接口,处理模块820的一种示例为处理器,存储模块的一种示例为存储器。存储器可以集成在处理器中。
[0183] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0184] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0185] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0186] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0187] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0188] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0189] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。