[0021] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0022] 请参阅图2,本发明提供一种网络设备的业务系统,包括:业务模块、适配模块、驱动模块和SDK模块。
[0023] 在本实施例中,所述网络为无源光纤网络(PON),包括如EPON网络或GPON网络等。所述网络设备包括:PON网络内的OLT设备和ONU设备;所述SDK接口是对应于所述网络设备中PON芯片的接口。
[0024] 所述业务模块,用于根据需实现的业务功能生成业务参数。在本实施例中,所述业务功能包括:业务模块常见业务需求,例如对所述网络设备的操作功能等,例如操作OLT设备、操作ONU设备和操作ONU端口等,其中,所述操作的方式包括配置和查询等。
[0025] 所述适配模块,用于提供对应所述业务功能的API接口,所述API接口用以供所述业务模块调用并传入所述业务参数;所述适配模块还用于规范对应所述API接口的驱动接口原型,并将所述业务参数传入所述驱动模块;优选的,所述提供对应所述业务功能的API接口,包括:定义所述API接口及对应的输入参数和输出参数;优选的,所述规范对应所述API接口的驱动接口原型,包括:规范所述驱动接口原型及对应的输入参数和输出参数。
[0026] 也就是说,所述适配模块一方面对业务模块提供API接口,另一方面据以规范出驱动接口来要求所述驱动模块提供相应驱动接口。
[0027] 在本实施例中,适配模块对业务模块提供API接口的方面来说,相应于上述操作,所述对应所述业务功能需提供的API接口具备:操作OLT设备的功能、操作ONU设备的功能、操作ONU端口的功能,其中,所述操作的方式包括配置、查询等,上述情况为需提供3*2共6种API接口,若操作方式数量更多,或者需操作对象更多,则两者相乘,需要的API接口也就更多;所述业务模块就可以通过根据业务功能需求从适配模块中选取调用所需的API接口,以实现相应的业务功能。
[0028] 在本实施例中,适配模块规范驱动接口原型的方面来说,所述将所述业务参数传入所述驱动模块,包括:所述适配模块通过所述驱动接口原型对应的输入参数将所述业务参数传入到驱动模块。较佳的,所述根据所述驱动接口原型和业务参数在所述SDK模块调用对应的SDK接口,包括:所述驱动模块解析所述业务参数以生成SDK接口的输入参数;根据所述SDK接口输入参数调用对应的SDK接口;在本实施例中,所述定义为结构体定义的方式,而所述规范也可以是结构体定义方式,但并非以本实施例为限。
[0029] 承上所述,在本实施例中,适配模块对业务模块提供的接口跟据管理对象分为三类:操作OLT设备的功能、操作ONU设备的功能、操作ONU端口的功能,根据操作方式分为两类:配置、查询,其中一共6种操作方式,均可以对应具有命令标识;而适配模块对业务模块提供的API接口包括三个输入参数:操作对象的逻辑编号、所述操作的命令标识以及业务的详细参数,所述业务的详细参数通过适配模块声明的结构体类型所定义的指针进行传递。在当前PON系统的业务功能趋近标准,在《中国电信EPON设备技术要求(V3.0)》标准中详细定义了OLT及ONU需要支持的业务,以及各个所述业务功能详细参数及其参数范围,本发明中所定义的适配模块是为了使业务对芯片的操作标准化,以便业务模块可以在不同的芯片方案的设备上进行移植,以及移植后方便的进行扩展。
[0030] 由于适配模块的存在,业务模块只需要通过调用适配模块的接口,将需要查询的对象(本实施例中,即ONU设备)在所属PON网络内的逻辑位置通过适配模块接口的输入参数传入到驱动模块,驱动模块将对象及逻辑位置转化为PON芯片所识别的物理对象及物理地址,最终将ONU的能力集信息通过适配模块的输出,返回给业务模块。当然业务模块的业务需求不仅仅是查询,配置过程也是如此。因此,在本实施例中,所述获取所述物理对象及物理地址的对应网络设备的能力集信息中的网络设备为ONU设备;所述能力集信息即为对应ONU设备能力集模板,包括ONU用户网络接口规格能力集和ONU支持的功能命令能力集等,表征了在网络中的通信处理能力。
[0031] 因此,本发明的关键之一在于如何建立适配模块,在定义适配模块时:
[0032] 在本实施例中,首先,要对业务模块所需要提供的业务进行抽象,将所有的业务功能所调用的API接口定义到适配模块中,业务模块对芯片的管理,只要调用这些定义在适配模块中的提供的接口,就能实现相应的功能,而不用关心当前使用的是什么芯片;当然在其他实施例中,也可以根据业务模块的业务需求来逐渐学习,而非预先将全部API接口均定义。
[0033] 因此,整个OLT设备的业务开发过程只需要根据芯片的SDK,完成驱动模块的开发。在驱动开发过程中,根据适配模块提供的接口原型,将传入的业务参数进行转换,传递到SDK提供的接口。对应不同的PON芯片方案,一个驱动接口所需的SDK接口在个数和原型上都有很大的差异;可能是将一个业务参数转换为SDK多个参数,也可能是将多个业务参数转换为一个SDK的参数。由于整个开发过程只涉及到驱动的开发,所以将大大缩短OLT设备的开发周期,这对提高企业竞争力起到重要作用。
[0034] 所述SDK模块,用于提供对应所述网络设备的SDK接口。在本实施例中,网络设备如OLT设备的PON芯片的SDK该模块由PON芯片厂家提供,用于直接管理PON芯片、及OLT设备连接的ONU设备。
[0035] 所述驱动模块,用于根据所述驱动接口原型和业务参数在所述SDK模块调用对应的SDK接口。根据适配模块规范的驱动接口原型,通过调用SDK提供的接口实现驱动接口功能。在本实施例中,驱动模块直接调用SDK模块提供的接口,以对适配模块传入的驱动接口原型进行支持,以实现间接对所述业务功能完成驱动的目的。
[0036] 如图3所示,本发明提供一实施例以说明本发明的业务模块实现某个业务功能时的运作流程。
[0037] 综上,本发明提供一个对应OLT设备中各种PON芯片方案的适配模块作为业务模块与驱动的接口,使得业务模块独立于PON芯片的选择,在适配模块中提供根据业务模块的业务需求向上定义各种API接口,向下规范驱动接口;业务模块根据业务需求调用适配模块对上提供的API接口,并间接调用到驱动提供的规范的驱动接口,实现对网络设备PON芯片及ONU设备的管理;在调用时,业务模块只需要调用这些API来实现相应的业务功能,而不用涉及PON芯片的类型。因此,业务模块进行软件设计时,无需关注PON芯片的具体型号或者需要读写哪些寄存器,只要根据实际业务需求将业务参数传入到需要调用的API即可。同时,在芯片方案发生变更时,仅需要根据厂商提供的芯片SDK包,修改驱动模块调用的SDK接口即可。
[0038] 综上所述,本发明提供一种网络设备的业务系统,包括:业务模块、适配模块、驱动模块、SDK模块;所述业务模块,用于根据需实现的业务功能生成业务参数;通过所述适配模块,提供对应所述业务功能的API接口,所述API接口用以供所述业务模块调用并传入所述业务参数,并通过所述适配模块规范对应所述API接口的驱动接口原型,并将所述业务参数传入所述驱动模块,进而通过所述驱动模块根据所述驱动接口原型和业务参数在所述SDK模块调用对应的SDK接口,通过适配模块将业务模块和驱动模块隔离开,业务模块仅需调用适配模块中的API接口即可,不必再调用驱动模块,保证业务模块功能的独立性,可移植性强,提升开发效率。
[0039] 经申请人试验证明,在10G-EPON系统上,直接移植了1G-EPON的业务模块,整个10G-EPON的开发只涉及到驱动开发工作,为10G-EPON的快速开发提供了保证,大大提高了产品的竞争力。
[0040] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。