CN105897948A - 一种基于光网络终端的光网络单元流配置创建方法及装置 - Google Patents
一种基于光网络终端的光网络单元流配置创建方法及装置 Download PDFInfo
- Publication number
- CN105897948A CN105897948A CN201610220505.8A CN201610220505A CN105897948A CN 105897948 A CN105897948 A CN 105897948A CN 201610220505 A CN201610220505 A CN 201610220505A CN 105897948 A CN105897948 A CN 105897948A
- Authority
- CN
- China
- Prior art keywords
- configuration
- identifier
- optical network
- chained list
- network unit
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/645—Fibre channel identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于光网络终端的光网络单元流配置创建方法,所述方法包括:预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。如此,通过预分配机制来加速流配置的分配,减少内存消耗,且分配速度比较快,同时系统稳定性强。
Description
技术领域
本发明涉及流配置创建技术领域,更具体地,涉及一种基于光网络终端的光网络单元流配置创建方法及装置。
背景技术
对于光网络单元(onu)分配的流是抽象出来的概念,onu的流是由光线路终端(olt)来分配的,onu的流是由分配带宽标识符(allocId)和逻辑连接标识符(gemportId)组成,allocId是由12-bit的数字组成,gemportId也是由12-bit的数字组成,一个olt一般有16个无源光纤网络(passive optical network,pon)口,每个pon口连接有分光器,分光器一般分出128条链路,可以接128个onu,那么一个olt就可以接2048个onu,每个pon有2048个allocId和4096个gemportId,一般描述可分配的流的数据结构体包括一个allocId、一个gemportId和一个变量(flag,表示有没有分配),由于olt的allocId和gemportId数量级比较大,则需要相当大的内存。
一般olt启动后,会有几十个onu同时上线,那么对于每个onu都会分配流配置,流配置保存在动态分配的内存中,而内存的动态分配是比较费时间的,如果一开始就把所有的流配置都创建,那么会消耗相当大的内存,对系统的稳定性会有影响;如果一开始流配置是空的,只有onu上线时才创建流相关的配置那么又会比较费时间。
同时由于olt是嵌入式设备,嵌入式设备一般内存比较小,中央处理器(cpu)比较弱,但是光网络终端要配置上千个光网络单元的流,这个是比较费内存的,如果同时有几十个光网络单元同时上线,那么对每个cpu分配流的速度会比较慢。
发明内容
有鉴于此,本发明提出一种基于光网络终端的光网络单元流配置创建方法,所述方法包括:
预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;
当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
进一步地,所述预先分配逻辑连接标识符的配置链表,具体为:
预先分配所述逻辑连接标识符的配置;
将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
并将所述逻辑连接标识符的标志位的状态设置为已分配。
进一步地,所述预先分配分配带宽标识符的配置链表,具体为:
预先分配所述分配带宽标识符的配置;
将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
并将所述分配带宽标识符对应的标志位的状态设置为已分配。
进一步地,在所述光网络单元上线之前,所述方法还包括:
为光网络终端流配置的数据结构体分配内存;并为光网络单元流配置的数据结构体分配内存;
其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
进一步地,所述将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,所述方法包括:
当检测到所述预先分配的逻辑连接标识符的配置链表是空时;
从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
创建所述逻辑连接标识符的配置;
并将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
进一步地,所述将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,所述方法还包括:
当检测到所述预先分配的分配带宽标识符的配置链表是空时;
从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的所述分配带宽标识符;
创建所述分配带宽标识符的配置;
并将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
本发明还提出一种基于光网络终端的光网络单元流配置创建装置,所述装置包括:
第一分配模块,用于预先分配逻辑连接标识符的配置链表;
第二分配模块,用于预先分配分配带宽标识符的配置链表;
第一提取模块,用于当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
第一插入模块,用于将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
第二提取模块,用于从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
第二插入模块,用于将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
进一步地,所述第一分配模块包括:
第一分配子模块,用于预先分配所述逻辑连接标识符的配置;
第一插入子模块,用于将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
第一设置子模块,用于并将所述逻辑连接标识符的标志位的状态设置为已分配。
进一步地,所述第二分配模块包括:
第二分配子模块,用于预先分配所述分配带宽标识符的配置;
第二插入子模块,用于将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
第二设置子模块,用于并将所述分配带宽标识符对应的标志位的状态设置为已分配。
进一步地,所述装置还包括:
第三分配模块,用于在所述第一提取模块从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置之前,为光网络终端流配置的数据结构体分配内存;
第四分配模块,用于为光网络单元流配置的数据结构体分配内存;
其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
进一步地,所述装置还包括:
第一检测模块,用于在所述第一插入模块将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,检测所述预先分配的逻辑连接标识符的配置链表是否为空;
第一查找模块,用于当所述第一检测模块检测到所述预先分配的逻辑连接标识符的配置链表位为空时,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
第一创建模块,用于创建所述逻辑连接标识符的配置;
第三插入模块,用于将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
进一步地,所述装置还包括:
第二检测模块,用于在所述第二插入模块将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,检测所述预先分配的分配带宽标识符的配置链表是否为空;
第二查找模块,用于当所述第二检测模块检测到所述预先分配的分配带宽标识符的配置链表为空时,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的所述分配带宽标识符;
第二创建模块,用于创建所述分配带宽标识符的配置;
第四插入模块,用于将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
相比现有预先分配所有流配置或预先不分配任何流配置,本发明通过预分配机制来加速流配置的分配,当多个ONU同时上线,立即实现ONU流配置分配,减少内存消耗,且分配速度比较快,同时系统稳定性强。
附图说明
图1为本发明基于光网络终端的光网络单元流配置创建方法的一种实施例的流程图;
图2为本发明基于光网络终端的光网络单元流配置创建方法中预先分配逻辑连接标识符的配置链表方法的一种实施例的流程图;
图3为本发明基于光网络终端的光网络单元流配置创建方法中预先分配分配带宽标识符的配置链表方法的一种实施例的流程图;
图4为本发明基于光网络终端的光网络单元流配置创建方法另一种实施例的流程图;
图5为本发明基于光网络终端的光网络单元流配置创建方法另一种实施例的流程图;
图6为本发明基于光网络终端的光网络单元流配置创建方法另一种实施例的流程图;
图7为本发明基于光网络终端的光网络单元流配置创建装置的一种实施例的结构图;
图8为本发明基于光网络终端的光网络单元流配置创建装置中第一分配模块的一种实施例的结构图;
图9为本发明基于光网络终端的光网络单元流配置创建装置中第二分配模块的一种实施例的结构图;
图10为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图;
图11为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图;
图12为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图;
图13为本发明基于光网络终端的光网络单元流配置创建装置中光网络终端流配置的数据结构体的结构图;
图14为本发明基于光网络终端的光网络单元流配置创建装置中光网络单元流配置的数据结构体的结构图。
具体实施方式
本发明技术方案为:预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明基于光网络终端的光网络单元流配置创建方法的一种实施例的流程图,具体流程如下:
步骤S101,预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;
具体地,预先分配逻辑连接标识符的配置链表为预先分配gemportId的配置链表,也就是预先为gemportId的配置链表中的gemportId的配置分配内存;
预先分配分配带宽标识符的配置链表为预先分配allocId的配置链表,也就是预先为allocId的配置链表中的allocId的配置分配内存。
步骤S102,当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
具体地,预先分配的逻辑连接标识符的配置链表中插入有逻辑连接标识符的配置,因此,可以从从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;具体提取方式为:从预先分配的gempotId的配置链表中取出头结点,头结点内包含gemportId的配置,从头结点中提取出gemportId的配置。
步骤S103,并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
具体地,也就是,将光网络终端流配置的数据结构体的逻辑连接标识符的配置链表中的逻辑连接标识符的配置插入到光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
其中,olt中每个pon口流配置的数据结构体如下:
struct olt_flow_mgr_per_pon(光网络终端流配置的数据结构体)
{
struct list uncfg_gem_port_id;//预先分配的gemportId的配置链表(预先分配逻辑连接标识符的配置链表)
struct list uncfg_alloc_id;//预先分配的allocId的配置链表(预先分配分配带宽标识符的配置链表)
unsigned char allocIdPool[256];//allocId bitmap池(分配带宽标识符位图文件池);其中,bitmap表示olt中哪些流已被分配或者未被分配。
unsigned char gemportIdPool[512];//gemportId bitmap池(逻辑连接标识符位图文件池)
}
其中,每个pon口的onu流配置的数据结构体如下:
Struct onu_flow_cfg_per_pon
{
int onuId;//onu标识符
struct list alloc_id;//分配给onu的allocId的配置链表
struct list gem_port_id;//分配给onu的gemportId的配置链表
}
其中,allocId配置的数据结构体如下:
struct allocId_cfg
{
unsigned short allocId;//16bit的allocId
}
其中,gemportId配置的数据结构体如下:
struct gemportId_cfg
{
unsigned short gemportId;//16bit的gemportId
}
步骤S104,从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
具体地,预先分配的分配带宽标识符的配置链表中插入有分配带宽标识符的配置,因此,可以从从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;具体提取方式为:从预先分配的allocId的配置链表中取出头结点,头结点内包含allocId的配置,从头结点中提取出allocId的配置。
步骤S105,并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
具体地,也就是,将光网络终端流配置的数据结构体的分配带宽标识符的配置链表中的分配带宽标识符的配置插入到光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
其中,步骤S101中预先分配逻辑连接标识符的配置链表如图2所示,具体步骤如下:
步骤S201,预先分配所述逻辑连接标识符的配置;
具体地,由于每个pon口下有4096个gemportId,所以使用4096除以8得到unsigned char gemportIdpool[512],因为unsigned char可以表示8bit,8bit乘以512得到4096,正好可以表示4096个gemportId;
因此,预先分配所述逻辑连接标识符的配置为预先分配1-512gemportId(512个gemportId)的配置。
步骤S202,将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
具体地,将gemportId的配置插入到预先分配的gempotId的配置的链表中。
步骤S203,并将所述逻辑连接标识符的标志位的状态设置为已分配。
具体地,将逻辑连接标识符的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置1表示已分配,也可将bit位置0表示已分配,设置后则对应的gempotId位已经分配。
步骤S101中预先分配分配带宽标识符的配置链表如图3所示,具体步骤如下:
步骤S301,预先分配所述分配带宽标识符的配置;
具体地,由于每个pon口下有2048个allocId,所以使用2048除以8得到unsigned char allocIdpool[256],因为unsigned char可以表示8bit,8bit乘以256得到2048正好可以表示2048个allocId;
因此,unsigned char AllocIdPool[256];//allocId bitmap池(分配带宽标识符位图文件池);
预先分配1-128allocId(128个allocId)的配置。
步骤S302,将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
具体地,将allocId的配置插入到预先分配的allocId的配置的链表。
步骤S303,并将所述分配带宽标识符对应的标志位的状态设置为已分配。
具体地,将预先分配带宽标识符对应的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置1表示已分配,也可将bit位置0表示已分配,设置后则对应的allocId位已经分配。
在步骤S102光网络单元上线之前,基于光网络终端的光网络单元流配置创建方法还如图4所示,具体步骤如下:
步骤S401,为光网络终端流配置的数据结构体分配内存;
具体地,为光网络终端流配置的数据结构体分配内存也就是为olt_flow_mgr_per_pon数据结构分配内存;
所述olt_flow_mgr_per_pon数据结构(光网络终端流配置的数据结构体)包括:所述struct list uncfg_gem_port_id(预先分配的逻辑连接标识符的配置链表)、所述struct list uncfg_alloc_id(预先分配的分配带宽标识符的配置链表)、unsigned char AllocIdPool[256](逻辑连接标识符位图文件池)及unsigned charGemportIdPool[512](分配带宽标识符位图文件池)。
步骤S402,为光网络单元流配置的数据结构体分配内存。
具体地,为光网络单元流配置的数据结构体分配内存也就是为onu_flow_cfg数据结构分配内存
所述onu_flow_cfg数据结构(光网络单元流配置的数据结构体)包括:intonuId(光网络单元标识符)、struct list alloc_id(光网络单元对应的逻辑连接标识符的配置链表)及struct list gem_port_id(光网络单元对应的分配带宽标识符的配置链表)。
在步骤S102之后,基于光网络终端的光网络单元流配置创建方法还如图5所示,具体步骤如下:
步骤S501,当检测到所述预先分配的逻辑连接标识符的配置链表是空时;
具体地,当检测到预先分配的逻辑连接标识符的配置链表没有进行任何配置,则认为预先分配的逻辑连接标识符的配置链表为空。
步骤S502,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
具体地,从GemportIdPool中通过轮询的方式找到标志位的状态没有设置为已分配的gemportId,也就是没有被分配的gemportId。
步骤S503,创建所述逻辑连接标识符的配置;
具体地,创建逻辑连接标识符的配置就是对标志位的状态没有设置为已分配的gemportId进行实时配置。
步骤S504,将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
具体地,将配置插入到onu对应的onu_flow_cfg结构体的gemportId链表中。
在步骤S102之后,基于光网络终端的光网络单元流配置创建方法还如图6所示,具体步骤如下:
步骤S601,当检测到所述预先分配的分配带宽标识符的配置链表是空时;
具体地,当检测到预先分配的分配带宽标识符的配置链表没有进行任何配置,则认为预先分配的分配带宽标识符的配置链表为空。
步骤S602,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的分配带宽标识符;
具体地,从AllocIdPool中通过轮询的方式找到标志位的状态没有设置为已分配的allocId,也就是没有被分配的allocId。
步骤S603,创建所述分配带宽标识符的配置;
具体地,创建分配带宽标识符的配置就是对标志位的状态没有设置为已分配的allocId进行实时配置。
步骤S604,并将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
具体地,将分配带宽标识符的配置插入到onu对应的onu_flow_cfg结构体的allocId链表中。
图7为本发明基于光网络终端的光网络单元流配置创建装置的一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705和第二插入模块706,
第一分配模块701,用于预先分配逻辑连接标识符的配置链表;
具体地,预先分配逻辑连接标识符的配置链表为预先分配gemportId的配置链表,也就是预先为gemportId的配置链表中的gemportId的配置分配内存。
第二分配模块702,用于预先分配分配带宽标识符的配置链表;
具体地,预先分配分配带宽标识符的配置链表为预先分配allocId的配置链表,也就是预先为allocId的配置链表中的allocId的配置分配内存。
第一提取模块703,用于当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
具体地,预先分配的逻辑连接标识符的配置链表中插入有逻辑连接标识符的配置,因此,可以从从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;具体提取方式为:从预先分配的gempotId的配置链表中取出头结点,头结点内包含gemportId的配置,从头结点中提取出gemportId的配置。
第一插入模块704,用于将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
具体地,将光网络终端流配置的数据结构体的逻辑连接标识符的配置链表中的逻辑连接标识符的配置插入到光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
第二提取模块705,用于从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
具体地,预先分配的分配带宽标识符的配置链表中插入有分配带宽标识符的配置,因此,可以从从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;具体提取方式为:从预先分配的allocId的配置链表中取出头结点,头结点内包含allocId的配置,从头结点中提取出allocId的配置。
第二插入模块706,用于将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
具体地,将光网络终端流配置的数据结构体的分配带宽标识符的配置链表中的分配带宽标识符的配置插入到光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
其中,第一分配模块701的结构如图8所示,第一分配模块701包括第一分配子模块7011、第一插入子模块7012、第一设置子模块7013,
第一分配子模块7011,用于预先分配所述逻辑连接标识符的配置;
具体地,由于每个pon口下有4096个gemportId,所以使用4096除以8得到unsigned char gemportIdpool[512],因为unsigned char可以表示8bit,8bit乘以512得到4096,正好可以表示4096个gemportId;
因此,预先分配所述逻辑连接标识符的配置为预先分配1-512gemportId(512个gemportId)的配置。
第一插入子模块7012,用于将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
具体地,将gemportId的配置插入到预先分配的gempotId的配置的链表中。
第一设置子模块7013,用于并将所述逻辑连接标识符的标志位的状态设置为已分配。
具体地,将逻辑连接标识符的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置1表示已分配,也可将bit位置0表示已分配,设置后则对应的gempotId位已经分配。
其中,第二分配模块702的结构如图9所示,第二分配模块702包括第二分配子模块7021、第二插入子模块7022和第二设置子模块7023,
第二分配子模7021,用于预先分配所述分配带宽标识符的配置;
具体地,由于每个pon口下有2048个allocId,所以使用2048除以8得到unsigned char allocIdpool[256],因为unsigned char可以表示8bit,8bit乘以256得到2048正好可以表示2048个allocId;
因此,unsigned char AllocIdPool[256];//allocId bitmap池(分配带宽标识符位图文件池);
预先分配1-128allocId(128个allocId)的配置。
第二插入子模块7022,用于将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
具体地,将allocId的配置插入到预先分配的allocId的配置的链表。
第二设置子模块7023,用于并将所述分配带宽标识符对应的标志位的状态设置为已分配。
具体地,将预先分配带宽标识符对应的标志位的状态设置为已分配,其中,标志位可以为bit位,可将bit位置1表示已分配,也可将bit位置0表示已分配,设置后则对应的allocId位已经分配。
图10为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707和第四分配模块708,其中,第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705和第二插入模块706的具体如图7所示,
第三分配模块707,用于在第一提取模块703从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置之前,为光网络终端流配置的数据结构体分配内存;
具体地,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
第四分配模块708,用于为光网络单元流配置的数据结构体分配内存;
具体地,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
图11为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707、第四分配模块708、第一检测模块709、第一查找模块710、第一创建模块711和第三插入模块712,其中,第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707和第四分配模块708的具体如图10所示,
第一检测模块709,用于在第一插入模块704将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,检测所述预先分配的逻辑连接标识符的配置链表是否为空;
第一查找模块710,用于当第一检测模块709检测到所述预先分配的逻辑连接标识符的配置链表位为空时,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
具体地,当检测到预先分配的逻辑连接标识符的配置链表没有进行任何配置,则认为预先分配的逻辑连接标识符的配置链表为空;
从GemportIdPool中通过轮询的方式找到标志位的状态没有设置为已分配的gemportId,也就是没有被分配的gemportId。
第一创建模块711,用于创建所述逻辑连接标识符的配置;
具体地,创建逻辑连接标识符的配置就是对标志位的状态没有设置为已分配的gemportId进行实时配置。
第三插入模块712,用于将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
具体地,将配置插入到onu对应的onu_flow_cfg结构体的gemportId链表中。
图12为本发明基于光网络终端的光网络单元流配置创建装置的另一种实施例的结构图,流配置创建装置700包括第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707、第四分配模块708、第二检测模块713、第二查找模块714、第二创建模块715和第四插入模块716,其中,第一分配模块701、第二分配模块702、第一提取模块703、第一插入模块704、第二提取模块705、第二插入模块706、第三分配模块707和第四分配模块708的具体如图10所示,
第二检测模块713,用于在第二插入模块706将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,检测所述预先分配的分配带宽标识符的配置链表是否为空;
第二查找模块714,用于当第二检测模块713检测到所述预先分配的分配带宽标识符的配置链表为空时,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的分配带宽标识符;
具体地,当检测到预先分配的分配带宽标识符的配置链表没有进行任何配置,则认为预先分配的分配带宽标识符的配置链表为空;
从AllocIdPool中通过轮询的方式找到标志位的状态没有设置为已分配的allocId,也就是没有被分配的allocId。
第二创建模块715,用于创建所述分配带宽标识符的配置;
具体地,创建分配带宽标识符的配置就是对标志位的状态没有设置为已分配的allocId进行实时配置。
第四插入模块716,用于将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
具体地,将分配带宽标识符的配置插入到onu对应的onu_flow_cfg结构体的allocId链表中。
图13为本发明基于光网络终端的光网络单元流配置创建装置中光网络终端流配置的数据结构体的结构图;
结构图中,来自于allocIdpool(allocId位图文件池)的olt_flow_mgr_per_pon(每个pon口的olt流配置)分别分配给gemportIdpool(gemportId位图文件池)、uncfg_alloc_id_list(预先分配的allocId的配置链表)及uncfg_gem_port_id_list(预先分配的gemportId的配置链表),uncfg_alloc_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的Gemport_id_cfg(gemportId配置);
然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Gemport_id_cfg,以此内推;
uncfg_gem_port_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的Alloc_id_cfg;
然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Alloc_id_cfg,以此内推。
图14为本发明基于光网络终端的光网络单元流配置创建装置中光网络单元流配置的数据结构体的结构图。
结构图中,来自于onuId(分配给onu配置)的onu_flow_cfg_per_pon(每个pon口的on流配置)分别分配给alloc_id_list(allocId配置链表)及gem_port_id_list(gemportId配置链表),alloc_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的Gemport_id_cfg;
然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Gemport_id_cfg,以此内推;
gem_port_id_list再分配与自身直连的第一node,该第一node再直接分配与自身直连的Alloc_id_cfg;
然后该第一node将分配信息发送给与自身直连的第二node,该第二node再直接分配与自身直连的Alloc_id_cfg,以此类推。
应当理解,本实施例提供的流配置创建装置700的功能模块可以为软件模块或者软硬件结合的功能模块,其可以通过处理器执行而实现如上所述的功能。并且,流配置创建装置700还可以具有其他功能模块实现加速流配置的分配、减少内存消耗各个具体步骤,具体可以参阅以上方法实施例的相应描述。
另外,所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯内部的处理器执行,前述的程序在被执行时处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(Flash Memory)、存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种基于光网络终端的光网络单元流配置创建方法,其特征在于,所述方法包括:
预先分配逻辑连接标识符的配置链表和分配带宽标识符的配置链表;
当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
并将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
并将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
2.如权利要求1所述的方法,其特征在于,所述预先分配逻辑连接标识符的配置链表,具体为:
预先分配所述逻辑连接标识符的配置;
将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
并将所述逻辑连接标识符的标志位的状态设置为已分配。
3.如权利要求1所述的方法,其特征在于,所述预先分配分配带宽标识符的配置链表,具体为:
预先分配所述分配带宽标识符的配置;
将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
并将所述分配带宽标识符对应的标志位的状态设置为已分配。
4.如权利要求2或3所述的方法,其特征在于,在所述光网络单元上线之前,所述方法还包括:
为光网络终端流配置的数据结构体分配内存;并为光网络单元流配置的数据结构体分配内存;
其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
5.如权利要求4所述的方法,其特征在于,所述将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,所述方法包括:
当检测到所述预先分配的逻辑连接标识符的配置链表是空时;
从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
创建所述逻辑连接标识符的配置;
并将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
6.如权利要求4所述的方法,其特征在于,所述将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,所述方法还包括:
当检测到所述预先分配的分配带宽标识符的配置链表是空时;
从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的所述分配带宽标识符;
创建所述分配带宽标识符的配置;
并将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
7.一种基于光网络终端的光网络单元流配置创建装置,其特征在于,所述装置包括:
第一分配模块,用于预先分配逻辑连接标识符的配置链表;
第二分配模块,用于预先分配分配带宽标识符的配置链表;
第一提取模块,用于当光网络单元上线时,从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置;
第一插入模块,用于将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中;
第二提取模块,用于从预先分配的分配带宽标识符的配置链表中提取出分配带宽标识符的配置;
第二插入模块,用于将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
8.如权利要求7所述的装置,其特征在于,所述第一分配模块包括:
第一分配子模块,用于预先分配所述逻辑连接标识符的配置;
第一插入子模块,用于将所述逻辑连接标识符的配置插入到所述预先分配的逻辑连接标识符的配置链表中;
第一设置子模块,用于并将所述逻辑连接标识符的标志位的状态设置为已分配。
9.如权利要求7所述的装置,其特征在于,所述第二分配模块包括:
第二分配子模块,用于预先分配所述分配带宽标识符的配置;
第二插入子模块,用于将所述分配带宽标识符的配置插入到所述预先分配的分配带宽标识符的配置链表中;
第二设置子模块,用于并将所述分配带宽标识符对应的标志位的状态设置为已分配。
10.如权利要求8或9所述的装置,其特征在于,所述装置还包括:
第三分配模块,用于在所述第一提取模块从预先分配的逻辑连接标识符的配置链表中提取出逻辑连接标识符的配置之前,为光网络终端流配置的数据结构体分配内存;
第四分配模块,用于为光网络单元流配置的数据结构体分配内存;
其中,所述光网络终端流配置的数据结构体包括:所述预先分配的逻辑连接标识符的配置链表、所述预先分配的分配带宽标识符的配置链表、逻辑连接标识符位图文件池及分配带宽标识符位图文件池;
其中,所述光网络单元流配置的数据结构体包括:光网络单元标识符、光网络单元对应的逻辑连接标识符的配置链表及光网络单元对应的分配带宽标识符的配置链表。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于在所述第一插入模块将所述逻辑连接标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中之后,检测所述预先分配的逻辑连接标识符的配置链表是否为空;
第一查找模块,用于当所述第一检测模块检测到所述预先分配的逻辑连接标识符的配置链表位为空时,从所述逻辑连接标识符位图文件池中查找出标志位的状态没有设置为已分配的所述逻辑连接标识符;
第一创建模块,用于创建所述逻辑连接标识符的配置;
第三插入模块,用于将所述逻辑连接标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的逻辑连接标识符的配置链表中。
12.如权利要求10所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于在所述第二插入模块将所述分配带宽标识符的配置插入到所述光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中之后,检测所述预先分配的分配带宽标识符的配置链表是否为空;
第二查找模块,用于当所述第二检测模块检测到所述预先分配的分配带宽标识符的配置链表为空时,从所述分配带宽标识符位图文件池中查找出标志位的状态没有设置为已分配的分配带宽标识符;
第二创建模块,用于创建所述分配带宽标识符的配置;
第四插入模块,用于将所述分配带宽标识符的配置插入到光网络单元对应的光网络单元流配置的数据结构体的分配带宽标识符的配置链表中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220505.8A CN105897948A (zh) | 2016-04-11 | 2016-04-11 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
PCT/CN2016/108167 WO2017177688A1 (zh) | 2016-04-11 | 2016-11-30 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220505.8A CN105897948A (zh) | 2016-04-11 | 2016-04-11 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105897948A true CN105897948A (zh) | 2016-08-24 |
Family
ID=57013573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610220505.8A Pending CN105897948A (zh) | 2016-04-11 | 2016-04-11 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105897948A (zh) |
WO (1) | WO2017177688A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177688A1 (zh) * | 2016-04-11 | 2017-10-19 | 上海斐讯数据通信技术有限公司 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497606A (zh) * | 2011-12-23 | 2012-06-13 | 武汉烽火网络有限责任公司 | 下一代无源光网络中配置信息的下发方法 |
CN103916301A (zh) * | 2012-12-31 | 2014-07-09 | 上海贝尔股份有限公司 | 区分gpon业务的方法和装置 |
CN104378225A (zh) * | 2013-08-16 | 2015-02-25 | 上海斐讯数据通信技术有限公司 | Gpon系统及配置用户端设备业务的方法 |
CN105025400A (zh) * | 2014-04-18 | 2015-11-04 | 美国博通公司 | 无源光网络(pon)中的概率性带宽控制 |
CN105162621A (zh) * | 2015-08-07 | 2015-12-16 | 上海斐讯数据通信技术有限公司 | 一种光线路终端启动时加载配置方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897948A (zh) * | 2016-04-11 | 2016-08-24 | 上海斐讯数据通信技术有限公司 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
-
2016
- 2016-04-11 CN CN201610220505.8A patent/CN105897948A/zh active Pending
- 2016-11-30 WO PCT/CN2016/108167 patent/WO2017177688A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497606A (zh) * | 2011-12-23 | 2012-06-13 | 武汉烽火网络有限责任公司 | 下一代无源光网络中配置信息的下发方法 |
CN103916301A (zh) * | 2012-12-31 | 2014-07-09 | 上海贝尔股份有限公司 | 区分gpon业务的方法和装置 |
CN104378225A (zh) * | 2013-08-16 | 2015-02-25 | 上海斐讯数据通信技术有限公司 | Gpon系统及配置用户端设备业务的方法 |
CN105025400A (zh) * | 2014-04-18 | 2015-11-04 | 美国博通公司 | 无源光网络(pon)中的概率性带宽控制 |
CN105162621A (zh) * | 2015-08-07 | 2015-12-16 | 上海斐讯数据通信技术有限公司 | 一种光线路终端启动时加载配置方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017177688A1 (zh) * | 2016-04-11 | 2017-10-19 | 上海斐讯数据通信技术有限公司 | 一种基于光网络终端的光网络单元流配置创建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017177688A1 (zh) | 2017-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760184A (zh) | 一种加载组件的方法和装置 | |
CN105159727B (zh) | 固件升级处理方法、装置和系统 | |
CN103019707A (zh) | 调用栈的解析处理方法及装置 | |
CN103338464B (zh) | 通信方法及设备 | |
CN103731356A (zh) | 报文处理方法及装置 | |
CN106937275A (zh) | 一种在安卓系统下保存系统唯一标识及硬件id的设备 | |
CN103533096A (zh) | 一种网卡接口绑定方法及装置 | |
CN108304044A (zh) | 一种nvme硬盘热插拔的设置方法及系统 | |
CN103326887A (zh) | 一种接口管理方法及系统 | |
CN106155917A (zh) | 内存管理方法及装置 | |
CN104375866A (zh) | 一种单板的驱动更新方法及装置 | |
CN105897948A (zh) | 一种基于光网络终端的光网络单元流配置创建方法及装置 | |
CN102811338A (zh) | 一种视频会议系统中多级回传视频信号的控制方法及装置 | |
CN104020540B (zh) | 一种智能光缆分纤箱及应用其管理端口的方法 | |
CN102945163A (zh) | 一种用于嵌入式系统的信号槽结构 | |
CN105786525B (zh) | 一种进程模型向线程模型移植代码的方法及装置 | |
CN104219084B (zh) | 一种板卡的启动方法和设备 | |
CN105450679A (zh) | 进行数据云存储的方法及系统 | |
CN107015984A (zh) | 移动终端的开机logo的设置方法及系统 | |
CN105634792A (zh) | 一种配置信息的传输方法和装置 | |
CN106034266A (zh) | 光路由的生成方法及装置 | |
CN101800594B (zh) | 光通道保护配置方法及系统 | |
CN112616153B (zh) | 容器处理方法、装置、计算机设备和存储介质 | |
CN103607480B (zh) | 一种内存资源的管理方法、装置及单板 | |
CN108197196A (zh) | 芯片标识码的确定方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160824 |