在家庭网关升级时修改配置的方法
【技术领域】
[0001]本发明涉及家庭网关技术领域,具体涉及在家庭网关升级时修改配置的方法。
【背景技术】
[0002]随着宽带网络的普及,家庭网关已经大规模的进入到普通家庭,据统计,目前约有几千万台家庭网关在网运行,而随着网络技术的发展,迫切需要对这些在网运行的数量庞大的家庭网关进彳丁升级。
[0003]对于家庭网关的升级,运营商除了希望保留这些家庭网关未升级前正常运行的配置外,有的时候还需要改变家庭网关的部分配置。而目前各厂商提供的家庭网关均是镜像和配置分离的,这就导致了在进行家庭网关升级时仅能升级镜像,而不能达到同时修改家庭网关原有配置的目的,需要在升级镜像后再升级一次配置文件,这对数量庞大的家庭网关升级操作来说是一个巨大的风险和挑战,因为每次升级都需要重启家庭网关,不仅严重影响了用户体验,而且增加了家庭网关原有配置失效的风险。
[0004]而对于家庭网关的生产厂商来说,以目前的方法对家庭网关升级同样存在问题,比如已升级为A省配置的设备需要发往B省或者发现准备供货的设备版本有缺陷需要进行家庭网关升级,这时生产厂商不可能通过运营商网管一次性对成千上万台设备一起升级,它往往是通过人工手动升级,而按照目前的升级步骤,需要先升级一次镜像文件,重新启动后再升级一次配置文件,再重新启动,才能完成全部升级,所消耗的人工成本极其巨大。
[0005]综上所述,在进行家庭网关升级时,做到升级镜像同时能够修改家庭网关中指定配置是解决上述各种问题的必要方法。
【发明内容】
[0006]本发明所要解决的技术问题是在进行家庭网关升级时,升级镜像同时能够修改家庭网关中指定配置的问题。
[0007]为了解决上述技术问题,本发明所采用的技术方案是提供一种在家庭网关升级时修改配置的方法,包括以下步骤:
[0008]步骤S10、豕庭网关开始升级;
[0009]步骤S20、生成一个写有需要修改配置参数的指定配置文件,并将该指定配置文件放入家庭网关代码的指定目录中;
[0010]步骤S30、将所述指定配置文件编译进升级镜像的指定可读写分区目录中,烧写升级镜像;
[0011]步骤S40、生成默认配置树;
[0012]步骤S50、从指定可读写分区目录中读取指定配置文,并将指定配置文件与家庭网关默认配置树合并;
[0013]步骤S60、根据家庭网关硬件状态生成其他配置;
[0014]步骤S70、家庭网关升级结束。
[0015]在上述方法中,步骤S30具体包括以下步骤:
[0016]步骤S31、开始烧写镜像;
[0017]步骤S32、判断升级镜像中是否含有指定的配置文件,如果有该指定的配置文件,则执行步骤S33;否则执行步骤S34;
[0018]步骤S33、将指定配置文件拷贝到镜像的可读写分区目录中;
[0019]步骤S34、生成升级镜像。
[0020]在上述方法中,步骤S50具体包括以下步骤:
[0021 ]步骤S51、生成原始默认配置字符串;
[0022]步骤S52、生成指定配置文件字符串;
[0023]步骤S53、根据默认配置字符串和指定配置文件字符串分别生成默认配置文件和指定配置文件的树形结构体对象;
[0024]步骤S54、再根据指定配置文件的树形结构体对象生成指定配置文件的参数列表;
[0025]步骤S55、根据所述参数列表内容将修改或添加的参数插入原始树形结构体,形成新树形结构体;
[0026]步骤S56、将新树形结构体转换成字符串;
[0027]步骤S57、将字符串转换成内存配置树。
[0028]本发明通过编译升级镜像时指定不同的配置文件能够灵活的在升级时修改相关的配置信息,从而实现了在家庭网关升级同时修改配置,并且对原有家庭网关镜像代码改动很小,对于在网运行的早期设备能够实现平滑升级,而没有任何其他的条件,不仅减少了多次重启对用户体验的影响和家庭网关原有配置失效的风险;同时还为生产商节约了人工成本,提高了工作效率。
【附图说明】
[0029]图1为一个家庭网关正常运行时内存中的配置信息树形图;
[0030]图2为家庭网关需要修改的一个指定配置文件树形图;
[0031]图3为本发明提供的在家庭网关升级时修改配置的方法流程图;
[0032]图4为本发明中烧写升级镜像流程图;
[0033]图5为本发明中指定配置文件与家庭网关默认配置树合并流程图。
【具体实施方式】
[0034]下面结合说明书附图和具体实施例对本发明做出详细的说明。
[0035]图1为一个家庭网关正常运行时内存中的配置信息树形图,从此图可以看出,该家庭网关中所有的配置信息生成了一颗配置树,该配置树根节点为InternetGatewayDevice,家庭网关中的每项配置都是一个叶子节点,例如SoftwareVers1n和HardwareVers1n叶子节点,根据他们的值可知该家庭网关的软件版本号和硬件版本号分别为G00L1.00和V2.0;从另一个值为I的X_CT-COM_SerVerType叶子节点可知该家庭网关的语音协议为SIP(在该节点的取值范围中,I代表SIP协议,2代表H248协议)。所以,如果要改变家庭网关的指定配置,只需要改变家庭网关配置树中相应叶子节点的值,例如,将与图1对应的家庭网关的语音协议从SIP切换到H248,只需要将图1中叶子节点X_CT-COM_SerVerType的值从I改成2(这里能够修改配置树中的值有几种方式,如从远程网管平台改或者从本地网关页面改等等,这里就不赘述)。
[0036]图2为家庭网关需要修改的一个指定配置文件树形图,它是文件名为patch.cfg的配置文件树,这个指定配置文件树也是一个以InternetGatewayDevice为根节点的参数树,但是这个仅仅是图1中所示配置树的一个子集,而我们升级的目的就是需要将图2中所示的这个指定配置文件的内容合并到图1所示的网关配置树中,达到修改配置的目的,下面以此为实施例,对本发明提供的在家庭网关升级时修改配置的方法进行具体说明。
[0037]如图3所示,本发明提供的在家庭网关升级时修改配置的方法包括以下步骤:
[0038]步骤S10、家庭网关开始升级。
[0039]在本步骤中的所述的家庭网关升级包括从ITMS(终端综合管理系统IntegratedTerminal Management System)或者OLT EMS(光线路终端网元管理系统)的网管进行远程升级,以及通过家庭网关管理页面等方式进行本地升级。
[0040]步骤S20、生成一个写有需要修改配置参数的配置文件patch.cfg (如图2所示的配置文件),并将该配置文件放入家庭网关代码的指定目录中。
[0041]步骤S30、将所述配置文件patch.cfg编译进升级镜像的指定可读写分区目录etc中,烧写升级镜像;这样烧写的镜像中就包含了需要修改