[0030] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0031] 就目前的OLT(opticallineterminal,光线路终端)来说,大量的配置内存消耗是来自于对ONU(光网络单元)和ONU上的端口的配置。
[0032] 一般来说描述ONU上的某个端口需要描述该端口在哪个单板(slot)的哪个PON口上,以及ONU的ID以及本端口的类型和ID,共总需要8个字节。一般使用这8个字节作为索引描述ONU以及ONU上端口和业务的属性。比如一个基本的索引表为:
[0033]
[0034] 其中,
[0035] oltif字段,描述端口所属ONU的PON口信息;
[0036] onuif字段,描述ONU的信息,包括ONUID,端口ID等;
[0037] 所有的表都以oltif/onuif字段作为索引。
[0038] 当OLT管理的端口密度比较小的时候,由于相对来说内存占用较小,采用这种编码方式是可以的;但是,当系统要求的分路比要提高到1∶128的时候,内存的需求需要提高一倍,因此必须需要采取其它方法减小配置数据对内存的占用。
[0039] 具体的,对于采用嵌入式内存数据库的系统来说,比如一个系统支持2048个ONU,每个ONU支持4个端口,如果满配的话,需要配置多达8192个端口;如果每个端口需要配置100张表(比如保存所有的OMCI数据),则索引占用的字节数至少为8*8192*100=700K,加上针对其它的为ONU分配得的保存索引的数据,应该超过1M了。
[0040] 为此,如图1所示,本发明提供一种PON网络中设备端口的数据索引方法,包括:
[0041] 步骤S1:对应PON网络中各待管理设备的端口创建端口管理表,其中,所述端口管理表包括:每个端口所私有的端口描述字段、及关联该端口描述字段的端口标识字段;其中,每个端口对应在所述端口管理表中创建有至少一条记录。
[0042] 具体的,所述端口管理表的结构例如为:
[0043]
[0044] 其中的“id”即端口标识字段,当创建一个端口时,就对应在创建一条记录;无论是什么类型的端口,其对应的端口ID的值在表intf_map中是唯一的,所述ID字段是具有唯一确定端口的ID数值,并且一个端口一一对应一个oltif/onuif和一个id;所述端口ID可以用32位的整形进行描述,其空间对于一台OLT设备来说是够用的,2的32次方足够描述系统需要的端口。
[0045] 由于所述端口标识字段可以是综合了ONU设备ID和ONU以太网口的ID,其取值也可以划定范围,比如:
[0046] ONU设备的ID从1到8192,表示系统可以支持8192个ONU等;
[0047] ONU上端口ID从10000到30000等;从而,综合了该些取值的端口标识字段的值同样具有取值范围。
[0048] 在一实施例中,所述记录还包括:端口配置字段“st”,用于标示一端口记录是否需要配置,即端口是否配置;举例来说,系统初次启动时默认为所有的端口创建一条记录,其字段st值为0,表示当前配置状态为没有配置。
[0049] 步骤S2:创建关联于所述端口描述字段及所述端口标识字段的索引工具,以供在索引一端口的端口记录时通过索引该端口描述字段来查找关联的端口标识字段,以索引到对应记录。
[0050] 在一实施例中,在对某个端口进行配置的时候,存储的端口记录将以与oltif/onuif对应的id字段(即端口标识字段)作为索引。
[0051] 在系统创建两个索引工具,分别为
[0052] CREATEINDEXintf_map_idx_ifONintf_map(oltif,onuif)/即以oltif及onuif字段索引id字段;
[0053] CREATEINDEXintf_map_idx_idONintf_map(id)/即以id字段索引记录,例如查找到某个端口的端口信息等。
[0054] 以上,即说明通过端口唯一私有的oltif及onuif字段索引关联的唯一的id字段,通过id字段即可索引唯一的端口记录。
[0055] 优选的,如果所有端口的数量确定小于65536,则可以将id的范围限定为两个字节,则可以将索引占用的字节数再缩小一倍;同时,由于端口的描述采用以2个四字节字段作为索引,嵌入式数据库还需额外创建基于这两个字段的复合索引(即前述两个索引工具),但是,由于该实施例中弱化为单字段的索引,会有效减少这个复合作引的管理,利于提升查询效率。
[0056] 以下验证本发明提供的方法如何相较现有的索引方式节省内存:
[0057] 以OMCI协议下的OMCI表为例,计算节省内存的数量:
[0058] 图2a显示该现有端口记录存储的数据结构,假定OMCI表的数量为100个;单个OMCI表中具有记录字段和索引字段(索引字段是为了快速查找创建索引所需要的),每个端口记录的记录字段占用的空间为26个字节加上索引字节8个字节共为26+8=34个字节,算上每个端口记录的索引字段的12个字节,总共每个端口记录占用的空间为46个字节。
[0059] 如果以本发明提供的方式来存储,图2b显示本发明在该实施例中端口记录存储的数据结构,则单个OMCI表中每个端口记录的记录字段占用字节数为26+4(这个4字节是增加的id字段,作为索引字节)为30个字节算上索引字段占用8个字节(这8个字节是为了快速索引创建的,记录字段中的索引字节少了,索引字段占用字节也对应减少),总共为38个字节。则节省的字节数位46-38=8,每个记录至少节省8个字节,则节省比例为(46-38)/46=
17%。
[0060] 承前所述,如果采用id字段占用两个字节进行计算,则OMCI表中端口记录占用字节数为26+2(id作为索引字节)+4(索引字段)=32个字节。节省的比例为(46-32)/46=30%。
[0061] 举例来说,创建一个OMCI表多占用的内存空间为8192*(16+12+8)=294K;若总的端口数为8192,总的占用字节数位100*46*8192*294K=36M,节省的字节数为36M*17%=6M。当满配时节省的内存相当可观,创建新表需要的内存几乎可以忽略不计;如果id字段以
2个字节表示,则节省的内存可达36M*30%=10M。
[0062] 除了节省内存,本发明另一个重要的作用是,实际上是通过单独id字段进行索引查找端口记录,简化索引查找过程,大大减少了查询时间。
[0063] 如图3所示,本发明提供一种PON网络中设备端口的数据索引系统1,其原理与上述方法大致相同,因此相同的技术细节不再重复赘述;所述系统1包括:管理表创建模块11,用于对应PON网络中各待管理设备的端口创建端口管理表,其中,所述端口管理表包括:每个端口所私有的端口描述字段、及关联该端口描述字段的端口标识字段;其中,每个端口对应在所述端口管理表中创建有至少一条记录;索引创建模块12,用于创建关联于所述端口描述字段及所述端口标识字段的索引工具,以供在索引一端口的端口记录时通过索引该端口描述字段来查找关联的端口标识字段,以索引到对应记录。
[0064] 在一实施例中,所述端口描述字段包括:1)描述端口所在待管理设备上联的PON口信息的第一字段;2)描述待管理设备预分配的设备ID、以及待管理设备上各端口的端口ID和端口类型的第二字段。
[0065] 在一实施例中,所述记录还包括:端口配置字段,用于标示一端口记录是否需要配置。
[0066] 在一实施例中,所述端口的数量小于65536,所述端口标识字段的大小为两个字节。
[0067] 在一实施例中,所述端口管理表创建于OLT设备,所述待管理设备为ONU设备。
[0068] 如图4所示,本发明提供一种OLT设备2,所作为上述方法或系统等软件实现的硬件载体,所述OLT设备2连接于PON网络中各待管理设备(例如ONU设备);所述OLT设备2包括:处理器21及存储器22;所述处理器21,对应各所连接的待管理设备的端口创建端口管理表并通过存储器存储22,其中,所述端口管理表包括:每个端口所私有的端口描述字段、及关联该端口描述字段的端口标识字段;其中,每个端口对应在所述端口管理表中创建有至少一条记录;并用于创建关联于所述端口描述字段及所述端口标识字段的索引工具,以供在索引一端口的端口记录时通过索引该端口描述字段来查找关联的端口标识字段,以索引到对应记录。
[0069] 综上所述,本发明提供PON网络中设备端口的数据索引方法、系统及OLT设备,对应PON网络中各待管理设备的端口创建端口管理表,其中,所述端口管理表包括:每个端口所私有的端口描述字段、及关联该端口描述字段的端口标识字段;其中,每个端口对应在所述端口管理表中创建有至少一条记录;创建关联于所述端口描述字段及所述端口标识字段的索引工具,以供在索引一端口的端口记录时通过索引该端口描述字段来查找关联的端口标识字段,以索引到对应记录;通过查找端口ID来调用记录以优化端口索引管理,可大大减小内存空间的占用,同时提高系统的查询速度,能够使大容量设备的OLT在内存资源有限时也能正常工作。
[0070] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。