背景技术
随着数字用户线(DSL)技术的发展,出现了非对称数字用户线(ADSL)、甚高速数字用户线(VDSL)等技术,这些DSL技术被统称为xDSL。同时,不同的xDSL数字信号处理器(DSP)生产商开发了不同的xDSL DSP芯片,用来满足用户的接入需求。
由于xDSL技术的飞速发展,相应的管理信息库(MIB)也在不断的变化,MIB是不同的标准化组织定义的一系列的参数,以及对这些参数的长度、取值范围等的限定,随着xDSL技术的发展,不同xDSL DSP芯片的配置、查询和检测等参数也在不断的添加、修改和完善,相应的MIB也在不断更新,目前正在将xDSL MIB参数的进行统一管理。
但是,目前这种整合使得新的xDSL MIB参数变得非常庞大,其中配置激活时需要下发给xDSL DSP芯片的参数越来越多,这样使得网管系统(NMS)、主机和用户板间的交换参数越来越多。
现有技术采用了将NMS、主机和用户板的MIB参数对应的数据结构进行统一的方法来保证三者之间的通信一致,也就是在NMS、主机和用户板上定义完全一致的数据结构。这种方法要将众多的xDSL线路上的参数进行分类,将有较多共同点的xDSL线路上的参数分成同一类,例如,可以把xDSL线路上的参数分成线路参数、信道参数、频谱参数等。每一类参数对应一个模板,目前的配置模板的结构如图1所示。
但是,现有技术的方案存在着一定的局限性,NMS、主机和用户板的配置数据结构必须保持完全一致,耦合度非常高,一旦NMS、主机和用户板三者之一出现了配置数据结构的变更,那么三者将无法达成一致,会引起模板参数溢出的问题,造成内存访问异常。另外,现有技术也没有配置参数陷阱(Trap)告警机制和参数纠错机制。用户配置xDSL线路部分后,无法知道线路配置参数正确与否,一旦出现配置数据错误或者通信链路数据错误,定位解决问题非常耗时。
目前常用的解决办法是在DSP芯片的驱动程序中过滤掉该芯片不支持的参数,并将过滤掉的不支持参数改变成默认值,然后配置xDSL DSP芯片;或者对不支持的参数进行强制转换,将其转换成可以支持的值。但这种实现方法并没有实现真正的参数松散耦合,只是解决了用户下发的参数不符合xDSL DSP芯片的配置要求的情况,一旦用户下发了新定义的参数,而该参数无法被xDSL DSP芯片识别时,该方法就不能生效了。
进一步地,现有的这种解决方法改变了用户的最初配置,由于没有告警机制,使得这种改变用户无法获知,不易于后续的维护。
发明内容
有鉴于此,本发明的目的在于提供将下发参数配置到芯片的方法及装置,用于解决网管系统、主机及用户板间数据耦合度高造成的内存访问异常问题。
为了达到上述目的,本发明的实施例提供了一种实现参数松散耦合的方法,在网管系统、主机或用户板上预先设置差异配置模板,所述差异配置模板为芯片关键性能参数的匹配规则,所述芯片关键性能参数包括信噪比余量范围、速率配置、以及无线电频率干扰刻槽,包括:
将下发的配置模板的长度值与预设置的芯片的默认配置模板的数据结构长度参数值进行比较,当所述下发的配置模板长度大于所述默认配置模板数据结构长度参数值时,则按照默认配置模板数据结构长度参数值复制下发的配置模板中的参数值,并将复制的参数值下发;否则,复制下发的配置模板中的参数值并下发;
当检测到下发的配置模板中复制的参数值与预先设置的差异配置模板或默认配置模板中的参数值相比存在错误,按照差异配置模板或默认配置模板的设置对该参数进行适配后,由用户设置是否上报包含适配结果的告警信息,并将适配的参数配置到芯片上。
本发明的实施例还提供了一种实现参数松散耦合的装置,包括:
模板检测单元,用于将下发的配置模板的长度值与预设置的芯片的默认配置模板的数据结构长度参数值进行比较,当所述下发的配置模板长度大于所述默认配置模板数据结构长度参数值时,则按照默认配置模板数据结构长度参数值复制下发的配置模板中的参数值,并将复制的参数值发送给参数下发单元;否则,复制下发的配置模板中的参数值,并将复制的参数值发送给差异检测单元;
参数下发单元,用于接收所述差异检测单元发送的参数值,并将所述参数值配置到芯片上;
差异检测单元,用于将预存的差异配置模板中的参数匹配规则与所述复制的下发配置模板中的对应参数值进行比较,检测所述复制的下发配置模板中的参数值是否符合所述差异配置模板中该参数的匹配规则,如果所述复制的下发配置模板中存在错误的参数值,将该参数值修改成符合所述差异配置模板中该参数匹配规则的值。
本发明中,将用户下发的配置模板长度与预设置的默认配置模板的长度进行比较,按照二者中较小的长度复制下发的配置模板中的参数值,也就是说,当下发配置模板较长时,表明用户在其中添加了xDSL DSP芯片不支持的新的参数值,应当将此多余部分参数值删除,所述默认配置模板中包含xDSL DSP芯片基本性能描述的所有参数匹配规则;并将所述复制的下发配置模板中的参数与预设置的差异配置模板进行比对,所述差异配置模板包含xDSL DSP芯片重要性能描述的参数匹配规则,如果在复制下发配置模板中检测到不符合芯片重要处理能力要求的参数设置,按照差异配置模板的设置对该参数进行适配,即,将用户对该参数设置的值修改为符合差异配置模板该参数匹配规则的值,并按照用户的预设置上报告警信息。
进一步地,本发明还可以将所述复制的下发配置模板中的参数值与默认配置模板进行比对,同样采用适配的方法使用户下发的参数完全符合xDSLDSP芯片的处理要求,并可以将适配的结果采用告警的方式上报给用户。利用本发明,即使在用户配置的参数值与xDSL DSP芯片的实际运行能力存在一定差异的情况下,也能通过比对的方式检测出出错的参数,并能够对出错参数进行适配,使之符合xDSL DSP芯片的处理要求,从而真正实现了参数的松散耦合,并能够根据用户的需求向用户上报告警信息。
具体实施方式
本发明的核心思想在于,将用户下发的配置模板长度与预设置的默认配置模板长度进行比较,按照二者中较小的长度复制下发的配置模板中的参数值,并将所述复制的下发配置模板中的参数与预设置的差异配置模板进行比对,如果检测到不符合芯片重要处理能力要求的参数设置,按照差异配置模板的设置对该参数进行适配,并按照用户的预设置上报告警信息。
进一步地,本发明还可以将所述复制的下发配置模板中的参数值与预设置的默认配置模板进行比对,同样采用适配的方法使用户下发的参数完全符合xDSL DSP芯片的处理要求,并可以将适配的结果采用告警的方式上报给用户。所述差异配置模板和默认配置模板可以设置在NMS、主机或用户板上。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
NMS、主机和用户板之间交换参数的方式如图2所示,其中,NMS采用视窗的方式为用户提供人机接口,主机采用命令行的方式为用户提供人机接口。NMS与主机之间采用简单网络管理协议(SNMP)进行交互,主机与用户板之间采用Q921通信或消息通信等方式进行交互,在用户板上包括xDSL DSP芯片。
图3为本发明中实现参数松散耦合方法的一个实施例的流程图,该方法包括以下步骤:
步骤301、将用户下发的配置模板的长度值与预设置的默认配置模板的数据结构长度参数值进行比较,如果默认配置模板的数据结构长度参数值较小,则按照默认配置模板数据结构长度参数值复制用户下发的配置模板中的参数值,将用户在下发配置模板中新增的xDSL DSP芯片不支持的参数设置删除;否则直接复制用户下发的配置模板中的所有参数值;
步骤302、将复制的用户下发配置模板中的参数值与差异配置模板中对应的参数匹配规则进行比对,如果检测到下发配置模板中存在不符合匹配规则的参数设置,则按照差异配置模板中该参数的匹配规则对该参数的值进行适配,即,将用户对该参数设置的值修改为符合差异配置模板中该参数匹配规则的值,并按照用户的预设置上报告警信息。
步骤303、将适配后的复制的用户下发配置模板中的参数配置到xDSLDSP芯片。
在本实施例的流程中,通过进行长度的比对,当用户下发配置模板长度较长时,表明用户增加了xDSL DSP芯片不支持的参数设置,通过删除这些用户新增的参数设置,以避免xDSL DSP芯片无法识别的参数影响到xDSLDSP芯片的正常激活;通过与差异配置模板的比对,使得用户对于一些xDSLDSP芯片的重要参数的设置错误能够被检测出来,并采用适配的方式,将这些参数修改成正确的值,根据用户的需求,还可以将相应的修改,通过告警的方式通知给用户。
图4为本发明中实现参数松散耦合方法的另一较佳实施例的流程图,该方法包括以下步骤:
步骤401、在NMS、主机或用户板上配置与芯片处理能力相关的默认配置模板和差异配置模板,并由用户设置是否上报告警信息,以及是否进行默认配置模板的比对。
其中,默认配置模板是根据不同的芯片来设置的,并且为用户可配置,包含该芯片的基本性能的描述。例如,某一芯片的默认配置模板中包括信噪比余量(SNR Margin)范围、速率配置、脉冲噪声保护(INP)配置,以及无线电频率干扰刻槽(RFI Notch)等参数设置规则,SNR Margin范围为一范围值,可为1-32,当用户设置的该参数值超过此范围,视为不匹配;也可进一步设置该参数值的默认值为6,当用户设置值不匹配时,将用户设置的参数值适配为默认值6。速率配置也可以为一个范围值,可为128K-100M,当用户设置的最低速率为0,视为不匹配。INP配置与以上方法类似,可以为一个范围也可以增加一个默认值设置。RFI Notch参数表示的是16个范围的数组,用户可以按照自身需要对该参数的匹配规则进行设置,例如用户规定对该参数设置的值的起始值和结束值必须在所述16个范围之内等等。
对于差异配置模板,其中包含的是对于该芯片至关重要的性能的描述,例如所述SNR Margin范围、速率配置、以及RFI Notch这三个参数则对该芯片的性能描述较为重要,也就是这三个参数在芯片的性能中起到至关重要的作用,则可将这三个参数的设置规则放在差异配置模板中。
步骤402、在NMS、主机或用户板上,以及用户要下发的配置模板中添加模板数据结构长度的参数,其中,在NMS、主机或用户板上配置的默认配置模板数据结构长度的参数值为xDSL DSP芯片的默认配置模板中所涉及到的所有参数的数据结构长度值,以下简称xDSL DSP芯片为芯片。该参数共有3个,分别为线路配置模板数据结构长度参数、数据通道配置模板数据结构长度参数及信道配置模板数据结构长度参数。默认配置模板数据结构长度参数的值为该模板中的参数匹配规则所对应的各参数的值的长度,如模板中只包含一个32位的整型参数的匹配规则,则该模板的长度参数值为32;而用户下发的配置模板的数据结构长度参数值为该模板中包含的所有参数的值的长度。
步骤403、假设默认配置模板和差异配置模板配置在用户板上,用户通过NMS或主机的人机接口下发对所有参数的配置模板,其中包含按照自身要求设置的所有参数的值。若该配置模板是在主机上下发的,则直接被发送到用户板,如果是从NMS上下发的,则通过主机最终被发送到用户板。
步骤404、比较下发的配置模板的长度与默认配置模板的数据结构长度参数值,若相同,则复制用户下发的配置模板中的参数值,执行步骤406;否则执行步骤405;
步骤405、判断是否为用户板上的默认配置模板数据结构长度参数值较小,如果是,按照用户板上的默认配置模板数据结构长度参数值复制用户下发的配置模板中的参数值,删除用户新增的芯片不支持的参数设置;否则,完全复制用户下发的配置模板中的参数值。
步骤404和步骤405的目的是为了减少不必要的额外比对,因为不同的芯片可能会增加新的参数,或者用户在下发的模板中增加了新的参数定义。例如用户在下发模板中增加了新的参数值,而这些新增加的参数对于芯片来说是不支持的,如果把这些参数配置到芯片上,会导致内存溢出,无法激活芯片的端口,因此需要把用户新增加的参数过滤掉,只比对芯片支持的参数。而当芯片增加了新的参数时,只需原样复制用户下发的配置模板中的参数即可,对于芯片新增加的参数,在实际配置芯片时按照默认配置模板中相应参数的默认值配置就可以了。
步骤406、比较用户板上的差异配置模板和与差异配置模板对应的复制的用户下发配置模板中的相应参数值,判断复制的用户下发的配置模板中是否存在不符合差异配置模板中的匹配规则的参数设置,如果有,执行步骤407;否则执行步骤409;
与差异配置模板进行比对的目的是为了在芯片上快速配置用户下发的配置模板中的参数值,因为差异配置模板中的匹配规则较少,只定义了对于该芯片来说较为重要的参数的匹配规则,所以需要比对的参数也较少,如果用户对这些重要参数的设置符合芯片要求,则一般可以认定用户的下发配置模板中的参数值可以配置到芯片中。
步骤407、对于用户不符合差异配置模板中相应匹配规则的参数设置,使用差异配置模板进行纠错。也就是说,对于用户设置错误的参数,按照差异配置模板中对于该参数的设置规则,取差异配置模板中该参数的默认值,代替用户设置的该参数的值。例如对于SNR Margin参数,假如用户的设置超过了1-32的范围,那么就应该把用户设置的该参数的值改为差异配置模板中该参数的默认值6。
步骤408、用户如果在步骤402中设置了上报告警信息,则对Trap告警进行使能,向主机发送告警信息,该告警信息中包括但不仅限于用户设置错误的参数名称、出错的原因及按照差异配置模板给该参数设置的新值,该告警信息通过输出设备显示给用户,使得用户可以及时得到反馈。
步骤409、用户如果在步骤402中设置了进行默认配置模板的比对,则将通过差异配置模板纠错后的复制的用户下发的参数值与默认配置模板中相应参数的匹配规则进行比对,比对方法与通过差异配置模板进行比对的方法类似,也是逐个参数进行对比,检查是否存在不符合默认配置模板中的匹配规则的参数设置。
步骤410、如果根据默认配置模板发现用户设置的参数值中存在错误,则使用默认配置模板对该参数进行适配,适配方法与步骤407相同,将用户设置的该参数的值改为默认配置模板中该参数的默认值。
步骤411、如果用户在步骤402中设置了上报告警信息,则对Trap告警进行使能,向主机发送告警信息,该信息中包括但不仅限于用户设置错误的参数名称、出错的原因及按照差异配置模板给该参数定义的新值,该告警信息通过输出设备显示给用户,使得用户可以及时得到反馈。
步骤412、将配置的参数值配置到芯片上,激活芯片的端口。
以上方法实现了NMS、主机及用户板之间配置参数的松散耦合,所谓松散耦合,也就是三者中的任一个发生了参数设置的改变,如定义了新的参数,或对原有参数的定义发生了变更,都不会影响用户下发的配置模板在芯片上的设置及芯片的端口激活。并且该方法还提供了Trap告警的功能,使得在发生用户下发的参数值设置错误的情况下,用户能够及时获知出错的具体信息及定位错误。
在本实施例中,差异配置模板和默认配置模板设置在用户板上,在实际应用中,这两个模板也可以设置在NMS或主机上。如果设置在NMS上,当用户在NMS的人机接口上下发配置参数时,直接在NMS完成比对的过程,并按用户需求在NMS的输出设备中向用户显示告警信息,设置在主机上与此同理。
图5为实现本发明中实现参数松散耦合的装置结构图,包括:
模板检测单元51,用于将下发的配置模板的长度值与预设置的芯片的默认配置模板的数据结构长度参数值进行比较,当下发的配置模板长度大于默认配置模板数据结构长度参数值时,则按照默认配置模板数据结构长度参数值复制下发的配置模板中的参数值,并将复制的参数值发送给参数下发单元;否则,复制下发的配置模板中的参数值,并将复制的参数值发送给参数下发单元;
参数下发单元52,用于接收模板检测单元51发送的参数值,并将该参数值配置到芯片上。
优选地,该装置还可以包括:
差异检测单元53,用于将预存的差异配置模板中的参数匹配规则与复制的下发配置模板中的对应参数值进行比较,检测复制的下发配置模板中的参数值是否符合差异配置模板中该参数的匹配规则,如果复制的下发配置模板中存在错误的参数值,将该参数值修改成符合差异配置模板中该参数匹配规则的值。
默认检测单元54,用于将预存的默认配置模板中的参数匹配规则与复制的下发配置模板中的对应参数值进行比较,检测复制的下发配置模板中的参数值是否符合默认配置模板中该参数的匹配规则,如果复制的下发配置模板中存在错误的参数值,将该参数值修改成符合所述默认配置模板中该参数匹配规则的值。
进一步地,该装置还可以包括:
告警上报单元55,用于根据用户的预设置上报告警信息。
该装置可以设置在NMS或主机上,如果设置在NMS上,则用户通过NMS的人机接口下发的配置模板直接在NMS上进行图3所示的参数检测纠错和告警等流程,告警信息直接通过NMS告知用户。如果设置在主机上,则用户通过NMS或主机的人机接口下发的配置模板在主机上进行图3所示的参数检测纠错和告警等流程,因为通过NMS下发的配置模板也一定会被发送到主机上,告警信息直接通过主机告知用户。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。