CN103475517A - 光网络终端设备及其硬件配置参数保存方法 - Google Patents
光网络终端设备及其硬件配置参数保存方法 Download PDFInfo
- Publication number
- CN103475517A CN103475517A CN2013103986732A CN201310398673A CN103475517A CN 103475517 A CN103475517 A CN 103475517A CN 2013103986732 A CN2013103986732 A CN 2013103986732A CN 201310398673 A CN201310398673 A CN 201310398673A CN 103475517 A CN103475517 A CN 103475517A
- Authority
- CN
- China
- Prior art keywords
- parameter
- api
- statement
- configuration
- reads
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种光网络终端设备及其硬件配置参数保存方法,所述方法包括:光网络终端设备中的功能模块解析出硬件参数配置指令中欲配置的参数的参数名称和参数值后,调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API;该参数配置API对该硬件寄存器进行参数配置后,调用语句封装模块中所述参数所属数据表的存储语句生成API;该存储语句生成API确定出所述参数所属数据表中的一条记录的各字段的值,生成以SQL存储语句为内容的字符串后,调用数据库模块中的数据库操作API;数据库操作API对该字符串进行解析后执行SQL存储语句。本发明更便于参数保存的平台化、并具有较好的扩展性、更易于维护。
Description
技术领域
本发明涉及通信领域,尤其涉及一种光网络终端设备及其硬件配置参数保存方法。
背景技术
目前,互联网日益强大,人们对互联网的需求不再是单一地浏览网页、查看新闻,而是提出了多样化的应用需求。网络游戏、在线影视、远程办公、网络电视等形式的出现极大地丰富了人们的生活,但同时也给互连网的带宽提出了更加高的要求,比如从之前的十几kbps到1Mbps、2Mbps、10Mbps、20Mbps,甚至几百Mbps。现在越来越多的家庭用户选择将网络升级到光纤入户,以获得较高的网络带宽。因此,越来越多的光网络终端设备被网络运营商所应用。
对于众多的光网络终端设备,网络运营商为区分不同的应用服务,通常需要对光网络终端设备中的硬件进行参数配置,如配置MAC地址、IP地址、光模块的激光器的偏置电流等;比如,对于靠近用户端的光网络单元(ONU,Optical Network Unit),网络运营商可以通过局端设备,即光线路终端(OLT,Optical Line Terminal),来下发配置,对ONU中的硬件进行配置,并将硬件配置参数保存在ONU中,以确保ONU能够正确的按照网络运营商的规划进行运作;同时,ONU自身也会将一些硬件配置参数上报给OLT,并将这些硬件配置参数保存在ONU自身内部。
目前业内比较普遍的做法是,在对光网络终端设备进行参数配置时,通过直接操作FLASH扇区,将配置的参数保存到FLASH扇区的某个特定位置。
在实际应用中,本发明的发明人发现该方法针对众多的参数,尤其是相互间具有关联关系的参数,很难进行平台化,并且后续的扩展性也不太好,维护成本比较高;例如,不同型号的光网络终端设备的应用服务不同,技术人员需要针对不同型号的光网络终端设备,开发不同的应用程序以将硬件配置参数保存到FLASH扇区中,难以平台化;而且,技术人员在开发时需要对这些不同的应用程序进行维护,以及在后续对光网络设备进行升级时,若涉及到某些硬件的更换或增加,则需要更改或增加许多关于将硬件配置参数保存到FLASH扇区中的代码,使得技术人员不方便对光网络终端设备进行维护、升级,光网络终端设备的扩展性不好。
因此,有必要提供一种便于平台化、扩展性较好、更易维护的光网络终端设备及其硬件配置参数保存方法。
发明内容
针对上述现有技术存在的缺陷,本发明提供了一种光网络终端设备及其硬件配置参数保存方法,更便于参数保存的平台化、并具有较好的扩展性、更易于维护。
根据本发明的一个方面,提供了一种光网络终端设备的硬件配置参数保存方法,包括:
所述光网络终端设备中的功能模块接收到硬件参数配置指令后,对其进行解析,得到其中携带的欲配置的参数的参数名称和参数值;调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API,并将所述参数名称和参数值传入该参数配置API;
该参数配置API根据传入的参数值对该硬件寄存器进行参数配置后,调用语句封装模块中的所述欲配置的参数所属数据表的存储语句生成API,并将所述参数名称和参数值传入到该存储语句生成API;
该存储语句生成API根据传入的参数名称和参数值,确定出欲保存到所述欲配置的参数所属数据表中的一条记录的各字段的值;之后,生成以SQL存储语句为内容的字符串后,调用数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库操作API对传入的字符串进行解析后,执行所述SQL存储语句:将确定出的记录增加到所述欲配置的参数所属数据表中,或根据确定出的记录修改所述欲配置的参数所属数据表中的对应记录;所述欲配置的参数所属数据表存储于本设备非易失性存储器件中的数据库中。
较佳地,在所述得到其中携带的欲配置的参数的参数名称和参数值后,还包括:
所述功能模块调用所述参数配置模块中与该参数名称对应的硬件寄存器的参数读取API,并将所述参数名称传入该参数读取API;
该参数读取API调用所述语句封装模块中的所述欲配置的参数所属数据表的读取语句生成API,并将所述参数名称传入到该读取语句生成API;
该读取语句生成API根据传入的参数名称,确定出所述欲配置的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用所述数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库操作API对传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述欲配置的参数所属数据表中读取出来后向该读取语句生成API返回;
该读取语句生成API将所述数据库操作API返回的记录向该参数读取API返回;
该参数读取API将该读取语句生成API返回的记录向所述功能模块返回;
所述功能模块将解析出的参数值与返回的记录中对应的参数的参数值进行比较;以及
所述调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API,具体为:若比较结果不同,则调用与该参数名称对应的硬件寄存器的参数配置API。
进一步,在所述数据库操作API对传入的字符串进行解析后,执行所述SQL存储语句后,还包括:
若所述功能模块接收到用户发送的硬件参数读取指令,则对其进行解析,得到其中携带的欲读取的参数的参数名称和参数值;
所述功能模块调用所述参数配置模块中与该欲读取的参数的参数名称对应的硬件寄存器的参数读取API,并将该参数名称传入到该参数读取API;
该参数读取API调用所述语句封装模块中的该欲读取的参数所属数据表的读取语句生成API,并将该欲读取的参数的参数名称传入到该读取语句生成API;
该读取语句生成API根据传入的参数名称,确定出所述欲读取的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库操作API对传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述数据库中的所述欲读取的参数所属数据表中读取出来后向该读取语句生成API返回;
该读取语句生成API将所述数据库操作API返回的记录向该参数读取API返回;
该参数读取API将该读取语句生成API返回的记录向所述功能模块返回;
所述功能模块根据所述欲读取的参数的参数名称从返回的记录中读取出对应参数的参数值向所述用户返回。
较佳地,所述功能模块接收到硬件参数配置指令之前,还包括:
所述光网络终端设备启动后,所述参数配置模块检测所述非易失性存储器件中是否创建有数据库;若否,则在所述非易失性存储器件中创建所述数据库。
其中,所述在所述非易失性存储器件中创建所述数据库,具体包括:
所述参数配置模块在所述非易失性存储器件中创建所述数据库,以及所述数据库中的各数据表;其中,本设备中相互间具有关联关系的参数被创建于同一数据表中;本设备中与其它参数不具任何关联关系的各参数被创建于同一数据表中。
根据本发明的另一个方面,还提供了一种光网络终端设备,包括:功能模块、参数配置模块、语句封装模块和数据库模块;
其中,所述功能模块用于接收到硬件参数配置指令后,对其进行解析,得到其中携带的欲配置的参数的参数名称和参数值;调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API,并将所述参数名称和参数值传入该参数配置API;
所述参数配置模块中的参数配置API用于根据传入的参数值对该硬件寄存器进行参数配置后,调用语句封装模块中的所述欲配置的参数所属数据表的存储语句生成API,并将所述参数名称和参数值传入到该存储语句生成API;
所述语句封装模块中的存储语句生成API用于根据传入的参数名称和参数值,确定出欲保存到所述欲配置的参数所属数据表中的一条记录的各字段的值;之后,生成以SQL存储语句为内容的字符串后,调用数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库模块中的数据库操作API用于对传入的字符串进行解析后,执行所述SQL存储语句:将确定出的记录增加到的所述欲配置的参数所属数据表中,或根据确定出的记录修改所述欲配置的参数所属数据表中的对应记录;所述欲配置的参数所属数据表存储于本设备非易失性存储器件中的数据库中。
较佳地,所述功能模块还用于在所述得到其中携带的欲配置的参数的参数名称和参数值后,调用所述参数配置模块中与该参数名称对应的硬件寄存器的参数读取API,并将所述参数名称传入该参数读取API;
所述参数配置模块中的参数读取API用于调用所述语句封装模块中的所述欲配置的参数所属数据表的读取语句生成API,并将所述参数名称传入到该读取语句生成API;且该读取语句生成API还用于将所述数据库操作API返回的记录向该参数读取API返回;
所述语句封装模块中的读取语句生成API用于根据传入的参数名称,确定出所述欲配置的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用所述数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;且该读取语句生成API还用于将所述数据库操作API返回的记录向该参数读取API返回;
所述数据库模块中的数据库操作API还用于对所述读取语句生成API传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述欲配置的参数所属数据表中读取出来后向该读取语句生成API返回;
所述功能模块还用于将解析出的参数值与返回的记录中对应的参数的参数值进行比较;若比较结果不同,则调用与该参数名称对应的硬件寄存器的参数配置API。
较佳地,所述功能模块还用于若接收到用户发送的硬件参数读取指令,则对其进行解析,得到其中携带的欲读取的参数的参数名称和参数值;并调用所述参数配置模块中与该欲读取的参数的参数名称对应的硬件寄存器的参数读取API,并将该参数名称传入该参数读取API;
所述参数配置模块中的参数读取API调用所述语句封装模块中的该欲读取的参数所属数据表的读取语句生成API,并将该欲读取的参数的参数名称传入到该读取语句生成API;且该参数读取API还用于将该读取语句生成API返回的记录向所述功能模块返回;
所述语句封装模块中的读取语句生成API根据传入的参数名称,确定出所述欲读取的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用所述数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;且该读取语句生成API还用于将所述数据库操作API返回的记录向该参数读取API返回;
所述数据库模块中的数据库操作API还用于对传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述数据库中的所述欲读取的参数所属数据表中读取出来后向该读取语句生成API返回;以及
所述功能模块还用于根据所述欲读取的参数的参数名称从返回的记录中读取出对应参数的参数值向所述用户返回。
较佳地,所述参数配置模块还用于在所述光网络终端设备启动后,检测所述非易失性存储器件中是否创建有数据库;若否,则在所述非易失性存储器件中创建所述数据库。
较佳地,所述参数配置模块具体用于在所述非易失性存储器件中创建所述数据库,以及所述数据库中的各数据表;其中,本设备中相互间具有关联关系的参数被创建于同一数据表中;本设备中与其它参数不具任何关联关系的各参数被创建于同一数据表中。
本发明的技术方案中,由于在光网络终端设备中的非易失性存储器件中,设置用于存储硬件配置参数的数据表的数据库;并将硬件配置参数保存进行模块化,针对不用的光网络终端设备,参数配置模块、语句封装模块和数据库操作模块可以在不同型号的光网络终端设备上移植,而实现参数保存的平台化,及易于维护性;同时技术人员基于已开发好的参数配置模块、语句封装模块和数据库操作模块,而只需专注于功能模块的代码的编写,使得开发、维护成本较低;而且,光网络终端设备增加或修改服务时,可以增加或修改数据库相应数据表的字段,使得光网络终端设备具有较好地扩展性。
附图说明
图1为本发明实施例的光网络终端设备中MCU***软件的内部结构框图;
图2为本发明实施例的***软件进行硬件配置参数保存的一种方法的流程图;
图3为本发明实施例的***软件进行硬件配置参数保存的另一种方法的流程图;
图4为本发明实施例的***软件读取数据库中参数的参数值的方法流程图。
具体实施方式
以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本申请使用的“模块”、“***”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
本发明的发明人考虑到,可以在光网络终端设备中的非易失性存储器件(如FLASH)中,设置一个数据库,并在数据库中创建对应各参数的数据表;在光网络终端设备中MCU的***软件接收到硬件参数配置指令后,根据欲配置的参数的参数名称和参数值,调用相应应用程序,对硬件寄存器进行参数配置,并对欲配置的参数所属数据表进行相应操作,保存硬件配置参数;这样,实现应用程序与数据库的分离,对于不同型号的光网络终端设备,或者光网络终端设备更换或增加硬件时,实现参数配置和硬件配置参数保存的应用程序无需改动,因此,便于参数保存的平台化、并具有较好的扩展性;而且,技术人员只需将精力置于光网络终端设备的应用服务的开发,不必更多关注底层硬件参数保存的应用程序的开发,使得维护成本较低。
下面结合附图详细说明本发明的技术方案。本发明实施例提供的光网络终端设备中包括微控制单元(MCU,Micro Control Unit),MCU的***软件可以根据接收到的硬件参数配置指令进行硬件参数配置,并将硬件配置参数进行保存;如图1所示,MCU的***软件包括:功能模块101、参数配置模块102、语句封装模块103和数据库模块104。
事实上,在光网络终端设备启动后,***软件中的参数配置模块102需要检测本设备中的非易失性存储器件中是否创建有数据库;若非易失性存储器件中创建有数据库,则参数配置模块102打开数据库,而不需要重新创建数据库,;相反,若非易失性存储器件中没有创建有数据库,则参数配置模块102在非易失性存储器件中创建数据库,以存储各硬件配置参数,其具体包括:
参数配置模块102在非易失性存储器件中创建数据库,以及数据库中的各数据表;其中,本设备中相互间具有关联关系的参数被创建于同一数据表中;本设备中与其它参数不具任何关联关系的各参数被创建于同一数据表中;而且,数据库中的各数据表可以根据网络运营商的业务需求进行创建。
例如,VLAN(Virtual Local Area Network,虚拟局域网)配置中的端口号(port)、模式(mode)、默认VLAN值(dflt_tpid、dflt_vid、dflt_cfi)、默认优先级(dflt_pri)等参数,相互间具有关联关系,可以将这些参数创建于同一数据表中,如下表1所示:
表1
port | mode | dflt_tpid | dflt_vid | dflt_cfi | dflt_pri |
1 | 1 | 0x8100 | 100 | 1 | 7 |
2 | 2 | 0x8100 | 200 | 1 | 6 |
3 | 3 | 0x8100 | 300 | 1 | 5 |
4 | 4 | 0x8100 | 400 | 1 | 4 |
再如,用户名、密码、MAC地址(MAC ADDR)、或设备SN(Serial Number)号等参数,与本设备中其它参数不具任何关联关系,可以将这些参数创建于同一数据表中,如下表2所示:
表2
模块ID | 参数名称 | 参数值 | 值的长度 |
1 | MAC ADDR | 00:12:34:56:78:01 | 18 |
之后,基于已创建的数据库及数据库中的各数据表,光网络终端设备中的MCU的***软件可以通过SET操作对硬件中的硬件寄存器进行配置,以及将硬件配置参数保存到数据库的数据表中,其方法流程如图2所示,具体包括如下步骤:
S201:功能模块101接收到硬件参数配置指令后,对其进行解析,得到其中携带的欲配置的参数的参数名称和参数值。
具体地,对光网络终端设备中的硬件进行参数配置的方式,一种是在OLT侧进行配置,即OLT向光网络终端设备发送硬件参数配置指令,这种方式最为常用;一种是通过在光网络终端设备侧的WEB页面或CLT(command-lineinterface,命令行界面)命令,向光网络终端设备发送硬件参数配置指令;在本步骤中,功能模块101接收到硬件参数配置指令后,对硬件参数配置指令进行解析,得到硬件参数配置指令中携带的欲配置的参数的参数名称和参数值;
例如,在OLT侧对ONU的MAC地址进行配置,OLT收到用户配置MAC地址的消息后,会通过OAM(Operation Administration and Maintenance,操作管理维护)或OMCI(Optical network unit Management and Control Interface,光网络单元管理和控制接口)协议,向ONU发送硬件参数配置指令;ONU中的功能模块101接收到硬件参数配置指令后,对其进行相应协议的解析,得到其中携带的MAC地址的参数名称和参数值,如参数名称为:MAC ADDR,参数值为:00:12:34:56:78:01。
S202:功能模块101调用参数配置模块102中与该参数名称对应的硬件寄存器的参数配置API,并将欲配置的参数的参数名称和参数值传入该参数配置API。
具体地,参数配置模块102中存储有参数配置API(Application ProgrammingInterface,应用编程接口);功能模块101根据上述步骤S201得到欲配置的参数的参数名称和参数值后,调用参数配置模块102中与该参数名称对应的硬件寄存器的参数配置API,将欲配置的参数的参数名称和参数值传入该参数配置API;
例如,上述步骤S201中,功能模块101得到硬件参数配置指令中携带的MAC地址的参数名称MAC ADDR和参数值00:12:34:56:78:01后,调用参数配置模块102中的MIB_PonMacAddrSet()函数(即参数配置API),并将参数名称MAC ADDR和参数值00:12:34:56:78:01传入MIB_PonMacAddrSet()函数。
S203:参数配置API根据传入的参数值对该硬件寄存器进行参数配置。
例如,上述对ONU进行MAC地址的配置,MIB_PonMacAddrSet()函数根据传入的参数值00:12:34:56:78:01,调用HAL_PonMacAddrSet()函数实现对应硬件寄存器(如网卡的硬件寄存器)的MAC地址配置。
S204:参数配置API调用语句封装模块103中的欲配置的参数所属数据表的存储语句生成API,并将欲配置的参数的参数名称和参数值传入到该存储语句生成API。
具体地,语句封装模块103中存储有存储语句生成API;参数配置API在上述步骤S203中对硬件寄存器进行参数配置后,需要将硬件配置参数保存到数据库中的数据表中,因此,在本步骤中,参数配置API调用语句封装模块103中的欲配置的参数所属数据表的存储语句生成API,并将欲配置的参数的参数名称和参数值传入到该存储语句生成API。
例如,上述对ONU进行MAC地址的配置,MIB_PonMacAddrSet()函数调用语句封装模块103中的MAC地址所属数据表的DB_CmnTblWrite()函数(即存储语句生成API),并将参数名称MAC ADDR和参数值00:12:34:56:78:01传入到DB_CmnTblWrite()函数。
S205:该存储语句生成API根据传入的参数名称和参数值,确定出欲保存到欲配置的参数所属数据表中的一条记录的各字段的值。
例如,上述对ONU进行MAC地址的配置,DB_CmnTblWrite()函数(即存储语句生成API)可以根据传入的参数名称MAC ADDR和参数值00:12:34:56:78:01,确定出MAC地址所属数据表中的一条记录的各字段的值;如表2,确定出的记录中的各字段的值可以为:模块ID:1;参数名称:MACADDR;参数值:00:12:34:56:78:01;值的长度:18。
S206:该存储语句生成API生成以SQL存储语句为内容的字符串后,调用数据库模块104中的数据库操作API,并将该字符串传入到数据库操作API中。
具体地,该存储语句生成API生成以SQL存储语句为内容的字符串,具体可以为:使用sprintf()函数将需要执行的SQL存储语句转化成字符串;而且,数据库操作API具体可以是现有的嵌入式数据库提供的接口API。
例如,sprintf(sql,"INSERT INTO %s VALUES('%d','%d','%d','%s');",CMN_TBL_NAME,record.mod_id,record.name_id,record.value_len,record.value);//将要添加的记录转换成字符串,存在在SQL数组中。
S207:数据库操作API对传入的字符串进行解析后,执行SQL存储语句。
具体地,数据库操作API对传入的字符串进行解析后,执行SQL存储语句的过程包括:将确定出的记录增加到欲配置的参数所属数据表中,或根据确定出的记录修改欲配置的参数所属数据表中的对应记录;其中,欲配置的参数所属数据表存储于本设备非易失性存储器件中的数据库中。
这样,根据本发明的硬件配置参数保存方法,对于不同型号的光网络终端设备,若业务需求或应用服务不同,技术人员只需要进行功能模块的代码的改变或修改,而参数配置模块、语句封装模块和数据库操作模块的代码无需、或者只需进行增加或修改数据表中某个字段的小改动,从而,大大便于参数配置模块、语句封装模块和数据库操作模块可以在不同型号的光网络终端设备上移植,而实现参数保存的平台化,及易于维护性;同时技术人员基于已开发好的参数配置模块、语句封装模块和数据库操作模块,而只需专注于功能模块的代码的编写,使得开发、维护成本较低;而且,光网络终端设备增加或修改服务时,可以增加或修改数据库相应数据表的字段,具有较好地扩展性。
作为一种更优的方式,功能模块101在对硬件参数配置指令进行解析,得到其中携带的欲配置的参数的参数名称和参数值后,还可以根据欲配置的参数的参数名称,读取数据库中记录的该参数的参数值,将其与解析出的参数的参数值进行比较,并根据比较结果进行参数配置,以及硬件配置参数的保存,其方法的流程,如图3所示,具体包括如下步骤:
S301:功能模块101接收到硬件参数配置指令后,对其进行解析,得到其中携带的欲配置的参数的参数名称和参数值。
S302:功能模块101调用参数配置模块102中与该参数名称对应的硬件寄存器的参数读取API,并将欲配置的参数的参数名称传入该参数读取API。
具体地,参数配置模块102中还存储有参数读取API;
例如,上述对ONU进行MAC地址的配置时,功能模块101调用参数配置模块102中的MIB_PonMacAddrGet()函数(即参数读取API),并将MAC地址的参数名称MAC ADDR传入到MIB_PonMacAddrGet()函数。
S303:该参数读取API调用语句封装模块103中的欲配置的参数所属数据表的读取语句生成API,并将欲配置的参数的参数名称传入到该读取语句生成API。
具体地,语句封装模块103中还存储有读取语句生成API;
例如,上述对ONU进行MAC地址的配置时,MIB_PonMacAddrGet()函数调用语句封装模块103中的DB_CmnTblRead()函数(即读取语句生成API),并将MAC地址的参数名称MAC ADDR传入到DB_CmnTblRead()函数。
S304:该读取语句生成API根据传入的参数名称,确定出欲配置的参数所属数据表中欲读取的记录。
S305:该读取语句生成API生成以SQL读取语句为内容的字符串后,调用数据库模块104中的数据库操作API,并将该字符串传入到数据库操作API中。
S306:数据库操作API对传入的字符串进行解析后,执行SQL读取语句。
具体地,数据库操作API对传入的字符串进行解析后,执行SQL读取语句的过程包括:将确定出的记录从欲配置的参数所属数据表中读取出来后向该读取语句生成API返回。
S307:该读取语句生成API将数据库操作API返回的记录向该参数读取API返回。
S308:该参数读取API将该读取语句生成API返回的记录向功能模块101返回。
S309:功能模块101将解析出的参数值与返回的记录中对应的参数的参数值进行比较,并判断比较结果是否相同;若否,则执行步骤S310;否则,执行步骤S320。
具体地,功能模块101将解析出的参数值与返回的记录中对应的参数的参数值进行比较;若比较结果不同,则表明硬件参数配置指令涉及的硬件配置操作为新的配置操作,需要进行硬件寄存器的配置,并将硬件配置参数保存到数据库中的数据表中,具体如下述步骤S310所示;若比较结果相同,则表明硬件参数配置指令涉及的硬件配置操作是重复下发的配置操作,功能模块101根据如下步骤S320,直接将硬件配置操作指令丢弃即可,从而避免重复进行硬件寄存器的配置,并避免重复将硬件配置参数保存到数据库中的数据表中。
S310:***软件对与欲配置的参数的参数名称对应的硬件寄存器进行参数配置,并将欲配置的参数的参数值保存到数据库中欲配置的参数所属数据表中,具体方法如步骤S202~S207所示。
S320:功能模块101丢弃该硬件参数配置指令,不进行任何操作。
本发明的光网络终端设备中的MCU的***软件还可以通过GET操作,读取出数据库中的参数的参数值,其方法的流程,如图4所示,具体包括如下步骤:
S401:功能模块101接收到用户发送的硬件参数读取指令,对其进行解析,得到其中携带的欲读取的参数的参数名称和参数值。
具体地,在用户通过OLT或者光网络终端设备侧的WEB页面或CLT命令向光网络终端设备中的MCU的***软件发送硬件参数读取指令后,***软件中的功能模块101对接收到的硬件参数读取指令进行解析,并得到携带的欲读取的参数的参数名称和参数值。
S402:功能模块101调用参数配置模块102中与该欲读取的参数的参数名称对应的硬件寄存器的参数读取API,并将该参数名称传入该参数读取API。
S403:该参数读取API调用语句封装模块103中的该欲读取的参数所属数据表的读取语句生成API,并将该欲读取的参数的参数名称传入到该读取语句生成API。
S404:该读取语句生成API根据传入的参数名称,确定出欲读取的参数所属数据表中欲读取的记录。
S405:该读取语句生成API生成以SQL读取语句为内容的字符串后,调用数据库模块104中的数据库操作API,并将该字符串传入到数据库操作API中。
S406:数据库操作API对传入的字符串进行解析后,执行SQL读取语句。
具体地,数据库操作API对传入的字符串进行解析后,执行SQL读取语句的过程包括:将确定出的记录从数据库中的所述欲读取的参数所属数据表中读取出来后向该读取语句生成API返回。
S407:该读取语句生成API将数据库操作API返回的记录向该参数读取API返回。
S408:参数读取API将该读取语句生成API返回的记录向功能模块101返回。
S409:功能模块101根据欲读取的参数的参数名称从返回的记录中读取出对应参数的参数值向用户/OLT返回。
由于硬件寄存器的配置数据与数据库文件中的数据是一致的,因此,***软件根据用户/OLT发送的硬件参数读取指令,可以直接从数据库中读取出相应的参数的参数值;从而,减少了读取数据的时间,并节省了从硬件寄存器中读取数据后,对数据进行解析所需的内存空间。
本发明的技术方案中,由于在光网络终端设备中的非易失性存储器件中,设置用于存储硬件配置参数的数据表的数据库;并将硬件配置参数保存进行模块化,针对不用的光网络终端设备,参数配置模块、语句封装模块和数据库操作模块可以在不同型号的光网络终端设备上移植,而实现参数保存的平台化,及易于维护性;同时技术人员基于已开发好的参数配置模块、语句封装模块和数据库操作模块,而只需专注于功能模块的代码的编写,使得开发、维护成本较低;而且,光网络终端设备增加或修改服务时,可以增加或修改数据库相应数据表的字段,使得光网络终端设备具有较好地扩展性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种光网络终端设备的硬件配置参数保存方法,其特征在于,包括:
所述光网络终端设备中的功能模块接收到硬件参数配置指令后,对其进行解析,得到其中携带的欲配置的参数的参数名称和参数值;调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API,并将所述参数名称和参数值传入到该参数配置API;
该参数配置API根据传入的参数值对该硬件寄存器进行参数配置后,调用语句封装模块中的所述欲配置的参数所属数据表的存储语句生成API,并将所述参数名称和参数值传入到该存储语句生成API;
该存储语句生成API根据传入的参数名称和参数值,确定出欲保存到所述欲配置的参数所属数据表中的一条记录的各字段的值;之后,生成以SQL存储语句为内容的字符串后,调用数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库操作API对传入的字符串进行解析后,执行所述SQL存储语句:将确定出的记录增加到所述欲配置的参数所属数据表中,或根据确定出的记录修改所述欲配置的参数所属数据表中的对应记录;所述欲配置的参数所属数据表存储于本设备非易失性存储器件中的数据库中。
2.如权利要求1所述的方法,其特征在于,在所述得到其中携带的欲配置的参数的参数名称和参数值后,还包括:
所述功能模块调用所述参数配置模块中与该参数名称对应的硬件寄存器的参数读取API,并将所述参数名称传入该参数读取API;
该参数读取API调用所述语句封装模块中的所述欲配置的参数所属数据表的读取语句生成API,并将所述参数名称传入到该读取语句生成API;
该读取语句生成API根据传入的参数名称,确定出所述欲配置的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用所述数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库操作API对传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述欲配置的参数所属数据表中读取出来后向该读取语句生成API返回;
该读取语句生成API将所述数据库操作API返回的记录向该参数读取API返回;
该参数读取API将该读取语句生成API返回的记录向所述功能模块返回;
所述功能模块将解析出的参数值与返回的记录中对应的参数的参数值进行比较;以及
所述调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API,具体为:若比较结果不同,则调用与该参数名称对应的硬件寄存器的参数配置API。
3.如权利要求1所述的方法,其特征在于,在所述数据库操作API对传入的字符串进行解析后,执行所述SQL存储语句后,还包括:
若所述功能模块接收到用户发送的硬件参数读取指令,则对其进行解析,得到其中携带的欲读取的参数的参数名称和参数值;
所述功能模块调用所述参数配置模块中与该欲读取的参数的参数名称对应的硬件寄存器的参数读取API,并将该参数名称传入到该参数读取API;
该参数读取API调用所述语句封装模块中的该欲读取的参数所属数据表的读取语句生成API,并将该欲读取的参数的参数名称传入到该读取语句生成API;
该读取语句生成API根据传入的参数名称,确定出所述欲读取的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库操作API对传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述数据库中的所述欲读取的参数所属数据表中读取出来后向该读取语句生成API返回;
该读取语句生成API将所述数据库操作API返回的记录向该参数读取API返回;
该参数读取API将该读取语句生成API返回的记录向所述功能模块返回;
所述功能模块根据所述欲读取的参数的参数名称从返回的记录中读取出对应参数的参数值向所述用户返回。
4.如权利要求1-3任一所述的方法,其特征在于,在所述功能模块接收到硬件参数配置指令之前,还包括:
所述光网络终端设备启动后,所述参数配置模块检测所述非易失性存储器件中是否创建有数据库;若否,则在所述非易失性存储器件中创建所述数据库。
5.如权利要求4所述的方法,其特征在于,所述在所述非易失性存储器件中创建所述数据库,具体包括:
所述参数配置模块在所述非易失性存储器件中创建所述数据库,以及所述数据库中的各数据表;其中,本设备中相互间具有关联关系的参数被创建于同一数据表中;本设备中与其它参数不具任何关联关系的各参数被创建于同一数据表中。
6.一种光网络终端设备,其特征在于,包括:功能模块、参数配置模块、语句封装模块和数据库模块;其中
所述功能模块用于接收到硬件参数配置指令后,对其进行解析,得到其中携带的欲配置的参数的参数名称和参数值;调用参数配置模块中与该参数名称对应的硬件寄存器的参数配置API,并将所述参数名称和参数值传入该参数配置API;
所述参数配置模块中的参数配置API用于根据传入的参数值对该硬件寄存器进行参数配置后,调用语句封装模块中的所述欲配置的参数所属数据表的存储语句生成API,并将所述参数名称和参数值传入到该存储语句生成API;
所述语句封装模块中的存储语句生成API用于根据传入的参数名称和参数值,确定出欲保存到所述欲配置的参数所属数据表中的一条记录的各字段的值;之后,生成以SQL存储语句为内容的字符串后,调用数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;
所述数据库模块中的数据库操作API用于对传入的字符串进行解析后,执行所述SQL存储语句:将确定出的记录增加到的所述欲配置的参数所属数据表中,或根据确定出的记录修改所述欲配置的参数所属数据表中的对应记录;所述欲配置的参数所属数据表存储于本设备非易失性存储器件中的数据库中。
7.如权利要求6所述的设备,其特征在于,
所述功能模块还用于在所述得到其中携带的欲配置的参数的参数名称和参数值后,调用所述参数配置模块中与该参数名称对应的硬件寄存器的参数读取API,并将所述参数名称传入该参数读取API;
所述参数配置模块中的参数读取API用于调用所述语句封装模块中的所述欲配置的参数所属数据表的读取语句生成API,并将所述参数名称传入到该读取语句生成API;且该读取语句生成API还用于将所述数据库操作API返回的记录向该参数读取API返回;
所述语句封装模块中的读取语句生成API用于根据传入的参数名称,确定出所述欲配置的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用所述数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;且该读取语句生成API还用于将所述数据库操作API返回的记录向该参数读取API返回;
所述数据库模块中的数据库操作API还用于对所述读取语句生成API传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述欲配置的参数所属数据表中读取出来后向该读取语句生成API返回;
所述功能模块还用于将解析出的参数值与返回的记录中对应的参数的参数值进行比较;若比较结果不同,则调用与该参数名称对应的硬件寄存器的参数配置API。
8.如权利要求6所述的设备,其特征在于,
所述功能模块还用于若接收到用户发送的硬件参数读取指令,则对其进行解析,得到其中携带的欲读取的参数的参数名称和参数值;并调用所述参数配置模块中与该欲读取的参数的参数名称对应的硬件寄存器的参数读取API,并将该参数名称传入该参数读取API;
所述参数配置模块中的参数读取API调用所述语句封装模块中的该欲读取的参数所属数据表的读取语句生成API,并将该欲读取的参数的参数名称传入到该读取语句生成API;且该参数读取API还用于将该读取语句生成API返回的记录向所述功能模块返回;
所述语句封装模块中的读取语句生成API根据传入的参数名称,确定出所述欲读取的参数所属数据表中欲读取的记录;之后,生成以SQL读取语句为内容的字符串后,调用所述数据库模块中的数据库操作API,并将该字符串传入到所述数据库操作API中;且该读取语句生成API还用于将所述数据库操作API返回的记录向该参数读取API返回;
所述数据库模块中的数据库操作API还用于对传入的字符串进行解析后,执行所述SQL读取语句:将确定出的记录从所述数据库中的所述欲读取的参数所属数据表中读取出来后向该读取语句生成API返回;以及
所述功能模块还用于根据所述欲读取的参数的参数名称从返回的记录中读取出对应参数的参数值向所述用户返回。
9.如权利要求6-8任一所述的设备,其特征在于,
所述参数配置模块还用于在所述光网络终端设备启动后,检测所述非易失性存储器件中是否创建有数据库;若否,则在所述非易失性存储器件中创建所述数据库。
10.如权利要求9所述的设备,其特征在于,
所述参数配置模块具体用于在所述非易失性存储器件中创建所述数据库,以及所述数据库中的各数据表;其中,本设备中相互间具有关联关系的参数被创建于同一数据表中;本设备中与其它参数不具任何关联关系的各参数被创建于同一数据表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310398673.2A CN103475517B (zh) | 2013-09-04 | 2013-09-04 | 光网络终端设备及其硬件配置参数保存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310398673.2A CN103475517B (zh) | 2013-09-04 | 2013-09-04 | 光网络终端设备及其硬件配置参数保存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475517A true CN103475517A (zh) | 2013-12-25 |
CN103475517B CN103475517B (zh) | 2016-06-29 |
Family
ID=49800227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310398673.2A Active CN103475517B (zh) | 2013-09-04 | 2013-09-04 | 光网络终端设备及其硬件配置参数保存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475517B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731427A (zh) * | 2013-12-31 | 2014-04-16 | 华为技术有限公司 | 一种会话处理的方法、设备和*** |
CN104168139A (zh) * | 2014-08-13 | 2014-11-26 | 烽火通信科技股份有限公司 | 一种基于pon***的olt设备定制方法 |
CN105429789A (zh) * | 2015-11-04 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种omci协议me配置方法及*** |
CN105759778A (zh) * | 2014-12-16 | 2016-07-13 | 青岛经济技术开发区海尔热水器有限公司 | 一种热泵热水器控制调试***及调试方法 |
CN107995033A (zh) * | 2017-11-30 | 2018-05-04 | 深圳市飞鸿光电子有限公司 | 一种onu配置文件升级方法及装置 |
CN109885293A (zh) * | 2019-02-27 | 2019-06-14 | 重庆电子工程职业学院 | 物联网应用开发自动创建的方法、装置及服务器 |
CN110392068A (zh) * | 2018-04-17 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 一种数据传输方法、装置及其设备 |
CN113342356A (zh) * | 2021-05-18 | 2021-09-03 | 浪潮软件股份有限公司 | 一种客户端框架运行及管理配置方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040120326A1 (en) * | 2002-12-24 | 2004-06-24 | Hyeon-Sik Yoon | System and method for VLAN configuration of E-PON, and recording medium with stored program thereof |
CN101414925A (zh) * | 2007-10-17 | 2009-04-22 | 华为技术有限公司 | 光网络终端配置的方法及***、装置 |
CN102104420A (zh) * | 2009-12-22 | 2011-06-22 | 华为技术有限公司 | 光网络终端的参数配置方法、装置和*** |
CN102857838A (zh) * | 2012-06-29 | 2013-01-02 | 广东东研网络科技有限公司 | Olt端对onu端参数配置失败的再配置处理方法 |
-
2013
- 2013-09-04 CN CN201310398673.2A patent/CN103475517B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040120326A1 (en) * | 2002-12-24 | 2004-06-24 | Hyeon-Sik Yoon | System and method for VLAN configuration of E-PON, and recording medium with stored program thereof |
CN101414925A (zh) * | 2007-10-17 | 2009-04-22 | 华为技术有限公司 | 光网络终端配置的方法及***、装置 |
CN102104420A (zh) * | 2009-12-22 | 2011-06-22 | 华为技术有限公司 | 光网络终端的参数配置方法、装置和*** |
CN102857838A (zh) * | 2012-06-29 | 2013-01-02 | 广东东研网络科技有限公司 | Olt端对onu端参数配置失败的再配置处理方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731427A (zh) * | 2013-12-31 | 2014-04-16 | 华为技术有限公司 | 一种会话处理的方法、设备和*** |
WO2015101151A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种会话处理的方法、设备和*** |
CN103731427B (zh) * | 2013-12-31 | 2017-04-12 | 华为技术有限公司 | 一种会话处理的方法、设备和*** |
CN104168139A (zh) * | 2014-08-13 | 2014-11-26 | 烽火通信科技股份有限公司 | 一种基于pon***的olt设备定制方法 |
CN105759778A (zh) * | 2014-12-16 | 2016-07-13 | 青岛经济技术开发区海尔热水器有限公司 | 一种热泵热水器控制调试***及调试方法 |
CN105429789A (zh) * | 2015-11-04 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种omci协议me配置方法及*** |
CN105429789B (zh) * | 2015-11-04 | 2018-05-18 | 上海斐讯数据通信技术有限公司 | 一种omci协议me配置方法及*** |
CN107995033A (zh) * | 2017-11-30 | 2018-05-04 | 深圳市飞鸿光电子有限公司 | 一种onu配置文件升级方法及装置 |
CN110392068A (zh) * | 2018-04-17 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 一种数据传输方法、装置及其设备 |
CN110392068B (zh) * | 2018-04-17 | 2022-06-21 | 阿里巴巴集团控股有限公司 | 一种数据传输方法、装置及其设备 |
CN109885293A (zh) * | 2019-02-27 | 2019-06-14 | 重庆电子工程职业学院 | 物联网应用开发自动创建的方法、装置及服务器 |
CN113342356A (zh) * | 2021-05-18 | 2021-09-03 | 浪潮软件股份有限公司 | 一种客户端框架运行及管理配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103475517B (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103475517A (zh) | 光网络终端设备及其硬件配置参数保存方法 | |
US9537737B2 (en) | Consolidated performance metric analysis | |
CN104714442B (zh) | 软件定义联网物理控制器及其控制方法 | |
CN104202178B (zh) | 智能光分配网智能管理终端与网络管理***的通信方法 | |
CN105611422A (zh) | 基于多媒体榜单的在线直播方法及装置 | |
CN101102259A (zh) | 网络访问控制***及方法 | |
WO2021057064A1 (zh) | 基于人工智能的数据交互转换方法、装置、设备及介质 | |
CN102833102B (zh) | 机卡分离型网关的用户侧设备***及数据配置管理方法 | |
CN109618174A (zh) | 一种直播数据传输方法、装置、***以及存储介质 | |
EP3310093A1 (en) | Traffic control method and apparatus | |
CN109815721A (zh) | 一种通过BMC修改BIOS Setup选项密码的方法、装置、终端及存储介质 | |
CN107648854B (zh) | 一种游戏分类方法、装置及电子设备 | |
CN106506246A (zh) | 光网络单元、其动态扩展管理功能的方法及gpon*** | |
CN105224541B (zh) | 数据的唯一性控制方法、信息存储方法及装置 | |
CN108897592A (zh) | 一种软件展示方法及相关设备 | |
CN114143191A (zh) | 基于分布式网关的微服务编排方法、装置及相关设备 | |
CN110502560A (zh) | 一种数据库连接参数封装的方法及服务器 | |
CN109246454A (zh) | 基于云平台的机顶盒管理方法、装置、终端及存储介质 | |
CN107995033B (zh) | 一种onu配置文件升级方法及装置 | |
CN110998524A (zh) | 处理配置文件的方法、处理单元、触摸芯片、装置及介质 | |
US20140215035A1 (en) | Distribution of application components among devices | |
CN104426883A (zh) | 用户数图发送处理方法、装置及*** | |
CN113612659B (zh) | 设备连网测试方法、装置、电子设备及存储介质 | |
CN102594636A (zh) | 一种基于多种无线协议的家庭智能网关***和控制方法 | |
CN108762786A (zh) | 一种服务器机柜的固件更新方法、服务器机柜及主机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |