一种基于光网络终端的光网络单元流配置创建方法及装置的制造方法

文档序号:10538953阅读:490来源:国知局
一种基于光网络终端的光网络单元流配置创建方法及装置的制造方法
【专利摘要】本发明提出了一种基于光网络终端的光网络单元流配置创建方法,所述方法包括:预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。如此,通过预分配机制来加速流配置的分配,减少内存消耗,且分配速度比较快,同时系统稳定性强。
【专利说明】
一种基于光网络终端的光网络单元流配置创建方法及装置
技术领域
[0001]本发明涉及流配置创建技术领域,更具体地,涉及一种基于光网络终端的光网络单元流配置创建方法及装置。
【背景技术】
[0002]对于光网络单元(onu)分配的流是抽象出来的概念,onu的流是由光线路终端(olt)来分配的,onu的流是由分配带宽标识符(8110(31(1)和逻辑连接标识符(8611^101'1:1(1)组成,al 1cId是由12-bit的数字组成,gemport Id也是由12-bit的数字组成,一个ο It—般有16个无源光纤网络(passive optical network,pon) 口,每个pon 口连接有分光器,分光器一般分出128条链路,可以接128个onu,那么一个olt就可以接2048个onu,每个pon有2048个alloc Id和4096个gemport IcU —般描述可分配的流的数据结构体包括一个alloc Id、一个gemportld和一个变量(flag,表示有没有分配),由于olt的allocld和gemportld数量级比较大,则需要相当大的内存。
[0003]—般olt启动后,会有几十个onu同时上线,那么对于每个onu都会分配流配置,流配置保存在动态分配的内存中,而内存的动态分配是比较费时间的,如果一开始就把所有的流配置都创建,那么会消耗相当大的内存,对系统的稳定性会有影响;如果一开始流配置是空的,只有onu上线时才创建流相关的配置那么又会比较费时间。
[0004]同时由于olt是嵌入式设备,嵌入式设备一般内存比较小,中央处理器(cpu)比较弱,但是光网络终端要配置上千个光网络单元的流,这个是比较费内存的,如果同时有几十个光网络单元同时上线,那么对每个cpu分配流的速度会比较慢。

【发明内容】

[0005]有鉴于此,本发明提出一种基于光网络终端的光网络单元流配置创建方法,所述方法包括:
[0006]预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;
[0007]当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
[0008]并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
[0009]从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
[0010]并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0011 ]进一步地,所述预先分配逻辑连接标识符的配置链表,具体为:
[0012]预先分配所述逻辑连接标识符的配置;
[0013]将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
[0014]并将所述逻辑连接标识符的标志位的状态设置为已分配。
[0015]进一步地,所述预先分配分配带宽标识符的配置链表,具体为:
[0016]预先分配所述分配带宽标识符的配置;
[0017]将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
[0018]并将所述分配带宽标识符对应的标志位的状态设置为已分配。
[0019]进一步地,在所述光网络单元上线之前,所述方法还包括:
[0020]为光网络终端流配置的数据结构体分配内存;并为光网络单元流配置的数据结构体分配内存;
[0021]其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
[0022]其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
[0023]进一步地,所述将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,所述方法包括:
[0024]当检测到所述预先分配的逻辑连接标识符的配置链表是空时;
[0025]从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
[0026]创建所述逻辑连接标识符的配置;
[0027]并将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
[0028]进一步地,所述将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,所述方法还包括:
[0029]当检测到所述预先分配的分配带宽标识符的配置链表是空时;
[0030]从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的所述分配带宽标识符;
[0031 ]创建所述分配带宽标识符的配置;
[0032]并将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0033]本发明还提出一种基于光网络终端的光网络单元流配置创建装置,所述装置包括:
[0034]第一分配模块,用于预先分配逻辑连接标识符的配置链表;
[0035]第二分配模块,用于预先分配分配带宽标识符的配置链表;
[0036]第一提取模块,用于当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
[0037]第一插入模块,用于将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
[0038]第二提取模块,用于从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
[0039]第二插入模块,用于将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0040]进一步地,所述第一分配模块包括:
[0041]第一分配子模块,用于预先分配所述逻辑连接标识符的配置;
[0042]第一插入子模块,用于将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
[0043]第一设置子模块,用于并将所述逻辑连接标识符的标志位的状态设置为已分配。
[0044]进一步地,所述第二分配模块包括:
[0045]第二分配子模块,用于预先分配所述分配带宽标识符的配置;
[0046]第二插入子模块,用于将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
[0047]第二设置子模块,用于并将所述分配带宽标识符对应的标志位的状态设置为已分配。
[0048]进一步地,所述装置还包括:
[0049]第三分配模块,用于在所述第一提取模块从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置之前,为光网络终端流配置的数据结构体分配内存;
[0050]第四分配模块,用于为光网络单元流配置的数据结构体分配内存;
[0051]其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
[0052]其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
[0053]进一步地,所述装置还包括:
[0054]第一检测模块,用于在所述第一插入模块将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,检测所述预先分配的逻辑连接标识符的配置链表是否为空;
[0055]第一查找模块,用于当所述第一检测模块检测到所述预先分配的逻辑连接标识符的配置链表位为空时,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
[0056]第一创建模块,用于创建所述逻辑连接标识符的配置;
[0057]第三插入模块,用于将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
[0058]进一步地,所述装置还包括:
[0059]第二检测模块,用于在所述第二插入模块将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,检测所述预先分配的分配带宽标识符的配置链表是否为空;
[0060]第二查找模块,用于当所述第二检测模块检测到所述预先分配的分配带宽标识符的配置链表为空时,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的所述分配带宽标识符;
[0061]第二创建模块,用于创建所述分配带宽标识符的配置;
[0062]第四插入模块,用于将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0063]相比现有预先分配所有流配置或预先不分配任何流配置,本发明通过预分配机制来加速流配置的分配,当多个ONU同时上线,立即实现ONU流配置分配,减少内存消耗,且分配速度比较快,同时系统稳定性强。
【附图说明】
[0064]图1为本发明基于光网络终端的光网络单元流配置创建方法的一种实施例的流程图;
[0065]图2为本发明基于光网络终端的光网络单元流配置创建方法中预先分配逻辑连接标识符的配置链表方法的一种实施例的流程图;
[0066]图3为本发明基于光网络终端的光网络单元流配置创建方法中预先分配分配带宽标识符的配置链表方法的一种实施例的流程图;
[0067]图4为本发明基于光网络终端的光网络单元流配置创建方法另一种实施例的流程图;
[0068]图5为本发明基于光网络终端的光网络单元流配置创建方法另一种实施例的流程图;
[0069]图6为本发明基于光网络终端的光网络单元流配置创建方法另一种实施例的流程图;
[0070]图7为本发明基于光网络终端的光网络单元流配置创建装置的一种实施例的结构图;
[0071]图8为本发明基于光网络终端的光网络单元流配置创建装置中第一分配模块的一种实施例的结构图;
[0072]图9为本发明基于光网络终端的光网络单元流配置创建装置中第二分配模块的一种实施例的结构图;
[0073]图10为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图;
[0074]图11为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图;
[0075]图12为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图;
[0076]图13为本发明基于光网络终端的光网络单元流配置创建装置中光网络终端流配置的数据结构体的结构图;
[0077]图14为本发明基于光网络终端的光网络单元流配置创建装置中光网络单元流配置的数据结构体的结构图。
【具体实施方式】
[0078]本发明技术方案为:预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0079]为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
[0080]图1为本发明基于光网络终端的光网络单元流配置创建方法的一种实施例的流程图,具体流程如下:
[0081 ]步骤SlOl,预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;
[0082]具体地,预先分配逻辑连接标识符的配置链表为预先分配gemportld的配置链表,也就是预先为gemport I d的配置链表中的gemport I d的配置分配内存;
[0083]预先分配分配带宽标识符的配置链表为预先分配allocld的配置链表,也就是预先为allocld的配置链表中的allocld的配置分配内存。
[0084]步骤S102,当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
[0085]具体地,预先分配的逻辑连接标识符的配置链表中插入有逻辑连接标识符的配置,因此,可以从从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;具体提取方式为:从预先分配的gempotld的配置链表中取出头结点,头结点内包含gemportld的配置,从头结点中提取出gemportld的配置。
[0086]步骤S103,并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
[0087]具体地,也就是,将光网络终端流配置的数据结构体的逻辑连接标识符的配置链表中的逻辑连接标识符的配置插入到光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
[0088]其中,olt中每个pon口流配置的数据结构体如下:
[0089]struct olt_flow_mgr_per_pon(光网络终端流配置的数据结构体)
[0090]{
[0091 ] struct list uncfg_gem_port_id;//预先分配的gemportld的配置链表(预先分配逻辑连接标识符的配置链表)
[0092]struct list uncfg_alloc_id;//预先分配的allocld的配置链表(预先分配分配带宽标识符的配置链表)
[0093]unsigned char allocIdPool[256] ;//allocId bitmap池(分配带宽标识符位图文件池);其中,bitmap表示olt中哪些流已被分配或者未被分配。
[0094]unsigned char gemportIdPool [512] ; //gemportld bitmap池(逻辑连接标识符位图文件池)
[0095]}
[0096]其中,每个pon口的onu流配置的数据结构体如下:
[0097]Struct onu_f1w_cfg_per_pon
[0098]{
[0099]int onuId;//onu标识符
[0100]struct list alloc_id;//分配给onu的allocld的配置链表[0101 ] struct list gem_port_id;//分配给onu的gemportld的配置链表
[0102] }
[0103]其中,allocld配置的数据结构体如下:
[0104]struct allocId_cfg
[0105]{
[0106]unsigned short allocId;//16bit的allocld
[0107]}
[0?08] 其中,gemportld配置的数据结构体如下:
[0109]struct gemportId_cfg
[0110]{
[0111]unsigned short gemportId;//16bit的gemportld
[0112]}
[0113]步骤S104,从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
[0114]具体地,预先分配的分配带宽标识符的配置链表中插入有分配带宽标识符的配置,因此,可以从从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;具体提取方式为:从预先分配的allocld的配置链表中取出头结点,头结点内包含allocld的配置,从头结点中提取出allocld的配置。
[0115]步骤S105,并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0116]具体地,也就是,将光网络终端流配置的数据结构体的分配带宽标识符的配置链表中的分配带宽标识符的配置插入到光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0117]其中,步骤SlOl中预先分配逻辑连接标识符的配置链表如图2所示,具体步骤如下:
[0118]步骤S201,预先分配所述逻辑连接标识符的配置;
[0119]具体地,由于每个pon口下有4096个gemportIcU所以使用4096除以8得到unsignedchar gemportIdpool [512],因为unsigned char可以表不8bit,8bit乘以512得到4096,正好可以表不4096个gemportld;
因此,预先分配所述逻辑连接标识符的配置为预先分配l_512gemportId(512个gemportld)的配置。
[0121]步骤S202,将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
[0122]具体地,将gemportld的配置插入到预先分配的gempotld的配置的链表中。
[0123]步骤S203,并将所述逻辑连接标识符的标志位的状态设置为已分配。
[0124]具体地,将逻辑连接标识符的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置I表示已分配,也可将bit位置O表示已分配,设置后则对应的gempotld位已经分配。
[0125]步骤SlOl中预先分配分配带宽标识符的配置链表如图3所示,具体步骤如下:
[0126]步骤S301,预先分配所述分配带宽标识符的配置;
[0127]具体地,由于每个pon口下有2048个allocld,所以使用2048除以8得到unsignedchar allocIdpooI[256],因为unsigned char可以表不8bit,8bit乘以256得到2048正好可以表示2048个allocld;
[0128]因此,unsignedchar AllocIdPool[256] ;//allocId bitmap池(分配带宽标识符位图文件池);
[0129]预先分配l-128allocId(128 个 allocld)的配置。
[0130]步骤S302,将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
[0131]具体地,将allocld的配置插入到预先分配的allocld的配置的链表。
[0132]步骤S303,并将所述分配带宽标识符对应的标志位的状态设置为已分配。
[0133]具体地,将预先分配带宽标识符对应的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置I表示已分配,也可将bit位置O表示已分配,设置后则对应的allocld位已经分配。
[0134]在步骤S102光网络单元上线之前,基于光网络终端的光网络单元流配置创建方法还如图4所示,具体步骤如下:
[0135]步骤S401,为光网络终端流配置的数据结构体分配内存;
[0136]具体地,为光网络终端流配置的数据结构体分配内存也就是为0lt_fl0W_mgr_per_pon数据结构分配内存;
[0? 37]所述olt_f low_mgr_per_pon数据结构(光网络终端流配置的数据结构体)包括:所述struct list uncfg_gem_port_id(预先分配的逻辑连接标识符的配置链表)、所述struct list uncfg_alloc_id(预先分配的分配带宽标识符的配置链表)、unsigned charAllocI dPool [256](逻辑连接标识符位图文件池)及 uns i gned char Gemport I dPool [512](分配带宽标识符位图文件池)。
[0138]步骤S402,为光网络单元流配置的数据结构体分配内存。
[0139]具体地,为光网络单元流配置的数据结构体分配内存也就是为onu_flow_cfg数据结构分配内存
[OMO] 所述onu_f low_cfg数据结构(光网络单元流配置的数据结构体)包括:int onuld(光网络单元标识符)、struct list alloc_id(光网络单元对应的逻辑连接标识符的配置链表)及struct list gem_port_id(光网络单元对应的分配带宽标识符的配置链表)。
[0141]在步骤S102之后,基于光网络终端的光网络单元流配置创建方法还如图5所示,具体步骤如下:
[0142]步骤S501,当检测到所述预先分配的逻辑连接标识符的配置链表是空时;
[0143]具体地,当检测到预先分配的逻辑连接标识符的配置链表没有进行任何配置,则认为预先分配的逻辑连接标识符的配置链表为空。
[0144]步骤S502,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
[0145]具体地,从GemportldPool中通过轮询的方式找到标志位的状态没有设置为已分配的gemportld,也就是没有被分配的gemportld。
[0146]步骤S503,创建所述逻辑连接标识符的配置;
[0147]具体地,创建逻辑连接标识符的配置就是对标志位的状态没有设置为已分配的gemportld进行实时配置。
[0148]步骤S504,将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
[0149]具体地,将配置插入到onu对应的onu_flow_cfg结构体的gemportld链表中。
[0150]在步骤S102之后,基于光网络终端的光网络单元流配置创建方法还如图6所示,具体步骤如下:
[0151 ]步骤S601,当检测到所述预先分配的分配带宽标识符的配置链表是空时;
[0152]具体地,当检测到预先分配的分配带宽标识符的配置链表没有进行任何配置,则认为预先分配的分配带宽标识符的配置链表为空。
[0153]步骤S602,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的分配带宽标识符;
[0154]具体地,从AllocIdPool中通过轮询的方式找到标志位的状态没有设置为已分配的al 1cId,也就是没有被分配的al 1cId。
[0155]步骤S603,创建所述分配带宽标识符的配置;
[0156]具体地,创建分配带宽标识符的配置就是对标志位的状态没有设置为已分配的allocld进行实时配置。
[0157]步骤S604,并将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[O ? 58 ]具体地,将分配带宽标识符的配置插入到ο n u对应的ο n u _ f I ο w _ c f g结构体的allocld链表中。
[0159]图7为本发明基于光网络终端的光网络单元流配置创建装置的一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705和第二插入模块706,
[0160]第一分配模块701,用于预先分配逻辑连接标识符的配置链表;
[0161 ] 具体地,预先分配逻辑连接标识符的配置链表为预先分配gemportld的配置链表,也就是预先为gempor 11 d的配置链表中的gempor 11 d的配置分配内存。
[0162]第二分配模块702,用于预先分配分配带宽标识符的配置链表;
[0163]具体地,预先分配分配带宽标识符的配置链表为预先分配allocld的配置链表,也就是预先为allocld的配置链表中的allocld的配置分配内存。
[0164]第一提取模块703,用于当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
[0165]具体地,预先分配的逻辑连接标识符的配置链表中插入有逻辑连接标识符的配置,因此,可以从从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;具体提取方式为:从预先分配的gempotld的配置链表中取出头结点,头结点内包含gemportld的配置,从头结点中提取出gemportld的配置。
[0166]第一插入模块704,用于将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
[0167]具体地,将光网络终端流配置的数据结构体的逻辑连接标识符的配置链表中的逻辑连接标识符的配置插入到光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
[0168]第二提取模块705,用于从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
[0169]具体地,预先分配的分配带宽标识符的配置链表中插入有分配带宽标识符的配置,因此,可以从从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;具体提取方式为:从预先分配的allocld的配置链表中取出头结点,头结点内包含allocld的配置,从头结点中提取出allocld的配置。
[0170]第二插入模块706,用于将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0171]具体地,将光网络终端流配置的数据结构体的分配带宽标识符的配置链表中的分配带宽标识符的配置插入到光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[0172]其中,第一分配模块701的结构如图8所示,第一分配模块701包括第一分配子模块7011、第一插入子模块7012、第一设置子模块7013,
[0173]第一分配子模块7011,用于预先分配所述逻辑连接标识符的配置;
[0174]具体地,由于每个pon口下有4096个gemportld,所以使用4096除以8得到unsignedchar gemportIdpool [512],因为unsigned char可以表不8bit,8bit乘以512得到4096,正好可以表不4096个gemportld;
[0175]因此,预先分配所述逻辑连接标识符的配置为预先分配l_512gemportId(512个gemportld)的配置。
[0176]第一插入子模块7012,用于将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
[0177]具体地,将gemportld的配置插入到预先分配的gempotld的配置的链表中。
[0178]第一设置子模块7013,用于并将所述逻辑连接标识符的标志位的状态设置为已分配。
[0179]具体地,将逻辑连接标识符的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置I表示已分配,也可将bit位置O表示已分配,设置后则对应的gempotld位已经分配。
[0180]其中,第二分配模块702的结构如图9所示,第二分配模块702包括第二分配子模块7021、第二插入子模块7022和第二设置子模块7023,
[0181]第二分配子模7021,用于预先分配所述分配带宽标识符的配置;
[0182]具体地,由于每个pon口下有2048个allocld,所以使用2048除以8得到unsignedchar allocIdpooI[256],因为unsigned char可以表不8bit,8bit乘以256得到2048正好可以表示2048个allocld;
[0183]因此,unsignedchar AllocIdPool[256] ;//allocId bitmap池(分配带宽标识符位图文件池);
[0184]预先分配1-128al1cIcK 128 个 alloc Id)的配置。
[0185]第二插入子模块7022,用于将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
[0186]具体地,将allocld的配置插入到预先分配的allocld的配置的链表。
[0187]第二设置子模块7023,用于并将所述分配带宽标识符对应的标志位的状态设置为已分配。
[0188]具体地,将预先分配带宽标识符对应的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置I表示已分配,也可将bit位置O表示已分配,设置后则对应的allocld位已经分配。
[0189]图10为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707和第四分配模块708,其中,第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705和第二插入模块706的具体如图7所示,
[0190]第三分配模块707,用于在第一提取模块703从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置之前,为光网络终端流配置的数据结构体分配内存;
[0191]具体地,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
[0192]第四分配模块708,用于为光网络单元流配置的数据结构体分配内存;
[0193]具体地,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
[0194]图11为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707、第四分配模块708、第一检测模块709、第一查找模块710、第一创建模块711和第三插入模块712,其中,第一分配模块701、第二分配模块70 2、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707和第四分配模块708的具体如图1O所示,
[0195]第一检测模块709,用于在第一插入模块704将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,检测所述预先分配的逻辑连接标识符的配置链表是否为空;
[0196]第一查找模块710,用于当第一检测模块709检测到所述预先分配的逻辑连接标识符的配置链表位为空时,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
[0197]具体地,当检测到预先分配的逻辑连接标识符的配置链表没有进行任何配置,则认为预先分配的逻辑连接标识符的配置链表为空;
[0198]从GemportldPool中通过轮询的方式找到标志位的状态没有设置为已分配的gemportld,也就是没有被分配的gemportld。
[0199]第一创建模块711,用于创建所述逻辑连接标识符的配置;
[0200]具体地,创建逻辑连接标识符的配置就是对标志位的状态没有设置为已分配的gemport Id进行实时配置。
[0201]第三插入模块712,用于将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
[0202]具体地,将配置插入到01111对应的01111_;1^10¥_0€8结构体的8611^101'1:1(1链表中。
[0203]图12为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707、第四分配模块708、第二检测模块713、第二查找模块714、第二创建模块715和第四插入模块716,其中,第一分配模块701、第二分配模块70 2、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707和第四分配模块708的具体如图1O所示,
[0204]第二检测模块713,用于在第二插入模块706将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,检测所述预先分配的分配带宽标识符的配置链表是否为空;
[0205]第二查找模块714,用于当第二检测模块713检测到所述预先分配的分配带宽标识符的配置链表为空时,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的分配带宽标识符;
[0206]具体地,当检测到预先分配的分配带宽标识符的配置链表没有进行任何配置,则认为预先分配的分配带宽标识符的配置链表为空;
[0207]从AllocIdPool中通过轮询的方式找到标志位的状态没有设置为已分配的allocld,也就是没有被分配的allocld。
[0208]第二创建模块715,用于创建所述分配带宽标识符的配置;
[0209]具体地,创建分配带宽标识符的配置就是对标志位的状态没有设置为已分配的allocld进行实时配置。
[0210]第四插入模块716,用于将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
[O2 ? ? ]具体地,将分配带宽标识符的配置插入到ο n u对应的ο n u _ f I ο w _ c f g结构体的allocld链表中。
[0212]图13为本发明基于光网络终端的光网络单元流配置创建装置中光网络终端流配置的数据结构体的结构图;
[0213]结构图中,来自于&110(31(^001(&110(:1(1位图文件池)的011:_;1^10¥_11^1'_口61'_卩011(每个pon 口的οIt流配置)分别分配给gemportIdpooI (gemportId位图文件池)、uncfg_alloc_id_list (预先分配的allocld的配置链表)及uncfg_gem_port_id_list (预先分配的gemportld的配置链表),uncfg_alloc_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的Gemport_id_cfg(gemportId配置);
[0214]然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Gemport_id_cfg,以此内推;
[0215]uncfg_gem_port_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的Alloc_id_cfg;
[0216]然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Alloc_id_cfg,以此内推。
[0217]图14为本发明基于光网络终端的光网络单元流配置创建装置中光网络单元流配置的数据结构体的结构图。
[0218]结构图中,来自于onuId(分配给onu配置)的onu_f low_cfg_per_pon(每个pon口的on 流配置)分别分配给 alloc_id_li st (allocld 配置链表)及 gem_port_id_li st (gemportld配置链表),&1100_1(1_1181:再分配与自身直连的第一node,该第一node再直接分配与自身直连的 Gemport_id_cfg;
[0219]然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Gemport_id_cfg,以此内推;
[0220]gem_port_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的 Alloc_id_cfg;
[0221 ]然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Alloc_id_cfg,以此类推。
[0222]应当理解,本实施例提供的流配置创建装置700的功能模块可以为软件模块或者软硬件结合的功能模块,其可以通过处理器执行而实现如上所述的功能。并且,流配置创建装置700还可以具有其他功能模块实现加速流配置的分配、减少内存消耗各个具体步骤,具体可以参阅以上方法实施例的相应描述。
[0223]另外,所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯内部的处理器执行,前述的程序在被执行时处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(Applicat1n Specific Integrated Circuit,ASIC)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(Flash Memory)、存储器(Read-Only Memory,R0M)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0224]最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
【主权项】
1.一种基于光网络终端的光网络单元流配置创建方法,其特征在于,所述方法包括: 预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表; 当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置; 并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中; 从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置; 并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。2.如权利要求1所述的方法,其特征在于,所述预先分配逻辑连接标识符的配置链表,具体为: 预先分配所述逻辑连接标识符的配置; 将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中; 并将所述逻辑连接标识符的标志位的状态设置为已分配。3.如权利要求1所述的方法,其特征在于,所述预先分配分配带宽标识符的配置链表,具体为: 预先分配所述分配带宽标识符的配置; 将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中; 并将所述分配带宽标识符对应的标志位的状态设置为已分配。4.如权利要求2或3所述的方法,其特征在于,在所述光网络单元上线之前,所述方法还包括: 为光网络终端流配置的数据结构体分配内存;并为光网络单元流配置的数据结构体分配内存; 其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池; 其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。5.如权利要求4所述的方法,其特征在于,所述将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,所述方法包括: 当检测到所述预先分配的逻辑连接标识符的配置链表是空时; 从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符; 创建所述逻辑连接标识符的配置; 并将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。6.如权利要求4所述的方法,其特征在于,所述将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,所述方法还包括: 当检测到所述预先分配的分配带宽标识符的配置链表是空时; 从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的所述分配带宽标识符; 创建所述分配带宽标识符的配置; 并将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。7.一种基于光网络终端的光网络单元流配置创建装置,其特征在于,所述装置包括: 第一分配模块,用于预先分配逻辑连接标识符的配置链表; 第二分配模块,用于预先分配分配带宽标识符的配置链表; 第一提取模块,用于当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置; 第一插入模块,用于将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中; 第二提取模块,用于从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置; 第二插入模块,用于将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。8.如权利要求7所述的装置,其特征在于,所述第一分配模块包括: 第一分配子模块,用于预先分配所述逻辑连接标识符的配置; 第一插入子模块,用于将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中; 第一设置子模块,用于并将所述逻辑连接标识符的标志位的状态设置为已分配。9.如权利要求7所述的装置,其特征在于,所述第二分配模块包括: 第二分配子模块,用于预先分配所述分配带宽标识符的配置; 第二插入子模块,用于将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中; 第二设置子模块,用于并将所述分配带宽标识符对应的标志位的状态设置为已分配。10.如权利要求8或9所述的装置,其特征在于,所述装置还包括: 第三分配模块,用于在所述第一提取模块从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置之前,为光网络终端流配置的数据结构体分配内存; 第四分配模块,用于为光网络单元流配置的数据结构体分配内存; 其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池; 其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。11.如权利要求10所述的装置,其特征在于,所述装置还包括: 第一检测模块,用于在所述第一插入模块将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,检测所述预先分配的逻辑连接标识符的配置链表是否为空; 第一查找模块,用于当所述第一检测模块检测到所述预先分配的逻辑连接标识符的配置链表位为空时,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符; 第一创建模块,用于创建所述逻辑连接标识符的配置; 第三插入模块,用于将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。12.如权利要求10所述的装置,其特征在于,所述装置还包括: 第二检测模块,用于在所述第二插入模块将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,检测所述预先分配的分配带宽标识符的配置链表是否为空; 第二查找模块,用于当所述第二检测模块检测到所述预先分配的分配带宽标识符的配置链表为空时,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的分配带宽标识符; 第二创建模块,用于创建所述分配带宽标识符的配置; 第四插入模块,用于将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
【文档编号】H04L29/12GK105897948SQ201610220505
【公开日】2016年8月24日
【申请日】2016年4月11日
【发明人】庞骏
【申请人】上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1