CN111787434A - 一种优化处理omci报文的方法 - Google Patents

一种优化处理omci报文的方法 Download PDF

Info

Publication number
CN111787434A
CN111787434A CN202010531323.9A CN202010531323A CN111787434A CN 111787434 A CN111787434 A CN 111787434A CN 202010531323 A CN202010531323 A CN 202010531323A CN 111787434 A CN111787434 A CN 111787434A
Authority
CN
China
Prior art keywords
event
message
omci
configuration
timer
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
Application number
CN202010531323.9A
Other languages
English (en)
Other versions
CN111787434B (zh
Inventor
王晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhe Semiconductor Technology Wuxi Co Ltd
Original Assignee
Xinhe Semiconductor Technology Wuxi Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinhe Semiconductor Technology Wuxi Co Ltd filed Critical Xinhe Semiconductor Technology Wuxi Co Ltd
Priority to CN202010531323.9A priority Critical patent/CN111787434B/zh
Publication of CN111787434A publication Critical patent/CN111787434A/zh
Application granted granted Critical
Publication of CN111787434B publication Critical patent/CN111787434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q11/0067Provisions for optical access or distribution networks, e.g. Gigabit Ethernet Passive Optical Network (GE-PON), ATM-based Passive Optical Network (A-PON), PON-Ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种优化处理OMCI报文的方法,OMCI主进程首先设置一个用于后续处理事件消息的线程;ONU在对每一个接收到的OMCI报文发送响应报文给OLT后,进入报文处理函数;报文处理函数处理完成后发送事件消息给线程告知要更新配置;线程在接收到更新配置事件消息后,在等待所有相关OMCI报文都接收到后,生成相应配置。本发明提出的方法可以确保ONU对OLT发送过来的每条OMCI报文及时回应,保证OLT下发配置不会中断;此外,本发明提出的方法在ONU接收到大量OMCI报文后进行解析,在不占用大量CPU资源的前提下能够保证配置生成的正确性和时效性。

Description

一种优化处理OMCI报文的方法
技术领域
本发明属于通信双向工作系统领域,特别是涉及一种优化处理OMCI报文的方法。
背景技术
OMCI是GPON(吉比特无源光网络)标准中定义的一种OLT(光线路终端)和ONU之间信息交互的协议。OMCI是一种主从式停等管理协议,其中OLT是主设备,ONU是从设备。它们的基本流程是:OLT下发OMCI管理配置报文,等待ONU应答,OLT得到应答后,才继续下发下一个报文。ME(Managed Entities,可管理对象)是对ONU的一种业务能力的抽象描述。根据ITU-T G.988规定,不同的ME由ME ID区分,不同的ME又包含不同的属性和方法。一个ONU所有可支持的ME组成了MIB(Management Information Base,管理信息库)。一条OMCI报文主要是由ME ID、方法、属性和属性值等构成。因此,OLT对一个ONU下发的管理配置信息,并不是单一的一条OMCI报文,而是大量不同的OMCI报文对ONU内的不同的ME分别进行操作,而且ONU必须对每条OLT下发的OMCI报文要及时回应。不同的ME中又存在内在的相应联系,所以ONU必须在接受完所有的OMCI报文后经过计算才能生成OLT要求的相应配置。
因此,对于ONU来说,接收来自OLT的OMCI报文,首先需要能够及时应答接收到的这些报文,并且在所有报文都接收完成后及时生成相应的配置。传统的设计架构会出现ONU在还没接收全所有OMCI报文后生成配置,导致配置出错。或者是在接收到所有OMCI报文后等待较长时间才生成配置,时效性不够。
现有申请号为201410466341.8的专利:一种ONU注册授权方法及系统,提出了一种优化处理OMCI报文的方法,是以回调函数以消息形式发送事件类型,回调函数实现模块接收消息,实现功能;但是这个专利中的ONU管理模块在接受第一条OMCI消息,回调函数发送消息,执行模块立刻生产配置,由于ONU配置管理参数不是单一的一条OMCI消息,是由很多消息组成,所以,此时的配置是不完整的。
本方法在OLT向ONU发送大量OMCI报文时,ONU能够保证及时回应接收到的每一条OMCI报文。与此同时,ONU会对接收到的大量OMCI报文进行解析,在不占用大量CPU资源的前提下能够保证配置生成的正确性和时效性。
发明内容
本发明所要解决的技术问题在于当ONU接收到大量OMCI报文后,ONU首先保证能够及时回应每一条接收到的OMCI报文。与此同时,ONU会对接收到的大量OMCI报文进行解析,在不占用大量CPU资源的前提下能够保证ONU配置生成的正确性和时效性。
为实现上述目的,本发明提供如下技术方案:
一种优化处理OMCI报文的方法,具体有以下步骤:
(1)OMCI主进程首先初始化一个用于接收事件消息的线程,优先级最高,并设置回调函数,用于事件消息的处理;接着,OMCI主进程对接收到的每一个OMCI报文首先生成一个相对应的响应报文,然后发送给OLT。之后再对该OMCI报文进行解析;这种方法能够使OLT及时收到ONU的响应,保证OLT配置下发不会被中断;随后,ONU根据接收到的OMCI报文内的MEID和方法,进入到相应的报文处理函数。
(2)ONU的配置需要多个相关的ME经过计算共同决定,任何一个ME属性值的改变都会影响当前ONU的配置;因此,当有一个与配置相关的ME属性值改变,在操作完该ME属性值之后,都要判断是否要把更新配置节点加入到操作链表中;如果操作链表中已经包含更新配置节点,则处理结束。如果操作链表中未包含更新配置节点,则加入该节点,随后向步骤(1)设置的线程发送更新配置的事件消息,并设置事件的定时器时间;定时器时间表示需要等待多少时间才会执行该事件。
(3)在步骤(1)线程设置的回调函数中,首先设置一个阻塞型的消息接收函数,判断事件链表中,接收到的事件消息中的该事件类型是否已经存在;如果已经存在,则更新定时器时间;如果不存在,则在事件链表中加入新的事件节点;对于步骤(2)这个阻塞型消息接收函数接收的是第一个事件消息,用于唤醒休眠中的线程。
(4)当事件链表中有事件节点存在后,遍历事件链表中的节点;遍历并不是马上执行节点中的事件,而是再次设置一个非阻塞型的消息接收函数;此接收函数的作用是,在等待的定时器时间内,仍然能够尽可能多的接收主进程处理OMCI报文发过来的其他事件消息;如果事件链表中已经存在该事件,则只更新定时器时间;如果事件不存在,则将其它事件节点加入到事件链表中。根据每个事件设置的定时器值,做等待操作;在遍历事件链表中的节点时,一边根据定时器值做等待,一边尽可能接收主进程发送过来的事件消息,及时加入到事件链表。
(5)在遍历事件链表时,如果定时器值为0,则执行事件链表中的事件;执行完成后将该事件从事件链表中去除;若执行的是更新配置事件,则会比较本地保存的ME操作次数和相关ME的属性值;如果相同,则表示OLT已下发完所有的ME操作,ONU可以根据现有的ME值经过计算生成相应配置。若不相同,则更新配置事件的定时器值,重新等待。
与现有技术相比,本发明具有以下有益效果:
1.本发明提出的方法可以确保ONU对OLT发送过来的每条OMCI报文及时回应,保证OLT下发配置不会中断。
2.本发明提出的方法在ONU接收到大量OMCI报文后进行解析,在不占用大量CPU资源的前提下能够保证配置生成的正确性和时效性。
附图说明
图1为本发明在接收到OMCI报文后解析并向线程发送事件消息的流程图。
图2为本发明的线程处理接收事件消息的流程图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
OLT通过OMCI报文对ONU中的MIB进行配置管理。MIB是由一系列的ME构成,一个ME代表ONU内的一个受控管理的对象。ITU-T G.988规范定义了不同的ME ID,以及各自的属性和方法。当OLT需要对ONU下发配置时,需要依次下发多条OMCI报文,对ONU的多个ME进行操作。
一种优化处理OMCI报文的方法包括:
步骤S1:如图1所示,OMCI主进程首先初始化一个用于接收事件消息的线程,该线程的调度策略为实时调度,优先级最高,设置回调函数为syncUpdateHandler。如下代码所示:
gcOmciCommon_CreateThread(&syncUpdate,GC_OMCI_THREAD_PRIORITY_HIGH,&syncU pdateHandler);
回调函数用于对接收到的OMCI报文的后续处理。接着,OMCI主进程会调用一个专门负责接收OMCI报文的函数;在对每一个接收的OMCI报文会立即先发送OMCI响应报文,保证回应的及时性,之后再进行OMCI报文的解析。
由于不同ME ID的属性和方法不同,所以需要不同的ME ID处理函数;例如ME ID为171(Extended VLAN tagging operation configuration data)的处理函数,ME ID为84(VLAN tagging filter data)的处理函数和ME ID为47(MAC bridge port configurationdata)的处理函数都互不相同。
步骤S2:当含有不同ME ID的OMCI报文进入到相应的处理函数后,再根据OMCI协议包内不同的方法执行相应的操作方法。每个ME都对应有不同的操作方法,其中主要的操作方法有:Set、Create、Get。Get方法只是取值,不会对ONU的当前配置产生影响,所以无需其它操作。而Set方法和Create方法是会改变ONU当前配置,所以需要继续执行gcOmci_SyncUpdateActionNodeAdd()函数。该函数会判断链表gcOmciActionList是否已经含有代表需要改变配置的节点:GC_OMCI_ACTION_FLOW。如果链表中已经含有该节点,则处理结束。如果链表中不含有该节点,则向链表中添加节点:GC_OMCI_ACTION_FLOW,即表示OLT要求改变该ONU的当前配置。最后,OMCI进程执行gcOmci_SyncUpdateEventSend(GC_OMCI_EVENT_ACTION_SYNC,1)函数,发出一条事件消息通知线程执行改变配置操作。第一个参数GC_OMCI_EVENT_ACTION_SYNC表示更新配置事件,第二个参数设置计时器时间,单位为秒,表示需要等待1秒后再执行该事件。
步骤S3:如图2所示,在回调函数syncUpdateHandler()中,首先设置一个阻塞型的事件消息接收函数,将步骤S2发送的GC_OMCI_EVENT_ACTION_SYNC和计时器时间加入到链表gcOmciEventTimerList。如果没接收到消息,由于该接收函数是阻塞型的,则该进程会进入睡眠状态,等待第一个事件的到来,节省CPU资源。只有接收到第一个事件消息才能将该线程唤醒。事件链表gcOmciEventTimerList储存节点的结构体类型如下:
typedef struct gcOmciEventTimerNode_s
{
struct gcOmciEventTimerNode_s*next;
gcOmciEventType eventId;
uint16_t waitTime;
}gcOmciEventTimerNode_t;
EventId代表事件类型,waitTime为定时器值,代表需要等待的时间。
步骤S4:当接收到第一个事件消息,即事件链表中有事件节点存在后,由于OLT对于ONU的配置需要多条ME共同实现,而ME是依次被发送到ONU,并不是一次性发送过来。所以更新配置事件并不会马上执行,而是根据该事件的定时器值做等待。在等待的这段时间可能也会有其他的事件消息会被发送过来,所以在阻塞型消息接收函数后面再设置一个非阻塞型消息接收函数,在等待过程中尽可能多的接收主进程发送过来的事件消息。因为在接收到所有ME消息之前是无法对ONU进行配置的,同时也避免遗漏其他的事件消息。如果接收到的事件消息已经存在事件链表中,则只更新该事件的定时器值,如果该事件消息不存在,则被加入到链表gcOmciEventTimerList中,等待被遍历。
步骤S5:在遍历事件链表gcOmciEventTimerList时,如果每个事件节点的定时器时间归为0,则执行相对应的事件处理函数。如果事件为GC_OMCI_EVENT_ACTION_SYNC,则本地的静态变量localDataSync会和ONU MIB中的MIBdatasync比较;如果这两个值相同,说明OLT已经发送完所有的OMCI报文,ONU可以进行配置操作了,执行gcOmci_FlowOperation()函数。如果这两个值不同,将MIBdatasync值赋给localDataSync,并将计时器重置,继续睡眠,直到localDataSync与MIBdatasync相等并且计时器为0后才会执行gcOmci_FlowOperation()函数更新当前ONU配置。
上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。

Claims (4)

1.一种优化处理OMCI报文的方法,其特征在于,包括以下步骤:
步骤(1),OMCI主进程首先初始化一个用于接收事件消息的线程,设置回调函数;接着,对每一条接收到的OMCI报文立即生成一个响应报文发送给OLT;再根据接收到的OMCI报文内的ME ID和方法进入相应的报文处理函数;
步骤(2),与配置相关的ME在处理完成后将更新配置节点加入到操作链表中,并向线程发送更新配置事件消息的类型和定时器值;
步骤(3),在线程中首先启用一个阻塞型事件消息接收函数,当有第一个事件消息发送过来时,唤醒处于休眠中的线程;
步骤(4),当收到第一个事件消息后,遍历事件链表,设置一个非阻塞型事件消息接收函数,一边根据每个事件定时器值做等待,一边尽可能接收主进程发送过来的其它事件消息,并及时加入到事件链表;
步骤(5),对于更新配置操作,如果定时器为0,并且本地保存的ME操作数和相关ME的属性值相同,则表示OLT已下发完所有ME的操作,ONU最终能够生成相应的配置;否则重置定时器,重新等待。
2.根据权利要求1所述的一种优化处理OMCI报文的方法,其特征在于,所述接收函数的参数除了事件id还有定时器时间,如果时间不为0,不会立即生成配置。
3.根据权利要求1所述的一种优化处理OMCI报文的方法,其特征在于,所述定时器时间其实是用于等待的时间。在等待的时间中还会有其他OMCI消息过来。
4.非阻塞模式的接收函数就是用于接收非第一条的OMCI消息。这个接收函数的参数除了事件id,也有定时器时间,只有判断MIBdatasync等于localDataSync,这两个值相等表示OLT配置下完,此时生成的配置才是完整的,不然重置计时器继续等待。
CN202010531323.9A 2020-06-11 2020-06-11 一种优化处理omci报文的方法 Active CN111787434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010531323.9A CN111787434B (zh) 2020-06-11 2020-06-11 一种优化处理omci报文的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010531323.9A CN111787434B (zh) 2020-06-11 2020-06-11 一种优化处理omci报文的方法

Publications (2)

Publication Number Publication Date
CN111787434A true CN111787434A (zh) 2020-10-16
CN111787434B CN111787434B (zh) 2022-07-01

Family

ID=72757427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010531323.9A Active CN111787434B (zh) 2020-06-11 2020-06-11 一种优化处理omci报文的方法

Country Status (1)

Country Link
CN (1) CN111787434B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980308A (zh) * 2015-07-29 2015-10-14 上海斐讯数据通信技术有限公司 一种omci协议报文封装方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980308A (zh) * 2015-07-29 2015-10-14 上海斐讯数据通信技术有限公司 一种omci协议报文封装方法及装置

Also Published As

Publication number Publication date
CN111787434B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
US20130117226A1 (en) Method and A System for Synchronizing Data
CN112235130A (zh) 一种实现基于sdn网络的运维自动化的方法和装置
CN109639484B (zh) 基于软件定义的工业融合网络管理方法及其网络管理器
JP7281490B2 (ja) 光ファイバカットオーバー方法、装置、sdnコントローラ、システム、及び記憶媒体
CN111984561B (zh) 一种bmc的ipmi命令处理方法、系统、设备以及介质
EP4095685A1 (en) State machine processing method and apparatus, state processing method and apparatus, electronic device, and storage medium
US20010052010A1 (en) Method for controlling trap generation of SNMP
CN115996197B (zh) 一种流量拥塞前置的分布式计算流量仿真系统与方法
CN115150274A (zh) 时间敏感网络设备的统一配置方法、系统及存储介质
EP2925011B1 (en) Apparatus and method for managing inner-network element transmission resources
CN106375103B (zh) 一种告警数据采集和发送方法
CN113658351B (zh) 一种产品生产的方法、装置、电子设备及存储介质
CN111787434B (zh) 一种优化处理omci报文的方法
EP3637690A1 (en) Service configuration-driven flow table method and device
CN111338580B (zh) 一种磁盘性能优化的方法和设备
CN114328638A (zh) 一种基于数据库轮询的业务消息推送系统
US8352592B2 (en) Controlling emission of events from managed systems to external management systems
CN106789380A (zh) 一种虚拟机网络一体化监管系统
Drummond et al. A distributed dual ascent algorithm for Steiner problems in multicast routing
CN112714035A (zh) 监控方法及系统
CN114640569A (zh) 动态消息管理装置、设备、系统、方法及存储介质
WO2012024917A1 (zh) 一种综合网络管理数据上报的系统、方法及接口数据库
CN104572266A (zh) 制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法
CN113079183B (zh) 一种分布式防火墙的板间通信系统及其通信方法
US20060028985A1 (en) Topology handler

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant