一种基于二阶查找表的OLTONU注册管理的方法和系统技术方案

技术编号:35018480 阅读:10 留言:0更新日期:2022-09-24 22:45
一种基于二阶查找表的OLT ONU注册管理的方法,包括如下步骤:S1、创建多个状态机实例,每个所述状态机实例与连接的每个ONU一一对应,每个所述状态机实例将对应的每个ONU的OMCI注册过程按执行顺序分解为多个一阶状态,每个一阶状态按执行顺序分解为多个二阶状态;S2、根据多个一阶状态创建一阶状态表,根据每个一阶状态创建该一阶状态的二阶状态表;S3、基于每个状态机实例的当前状态向对应的ONU发送对应的OMCI注册报文并缓存所述对应的OMCI注册报文的序列号,当接收到ONU发送的报文时,比较该报文的发送序列号是否是缓存的序列号中的其中一个。使单线程就能实现多ONU并发注册,通过二阶查找表实现状态的查找和切换处理,提高程序效率和程序逻辑性。提高程序效率和程序逻辑性。提高程序效率和程序逻辑性。

【技术实现步骤摘要】
一种基于二阶查找表的OLT ONU注册管理的方法和系统


[0001]本申请涉及计算机应用
,具体涉及一种基于二阶查找表的OLT ONU注册管理的方法和系统。

技术介绍

[0002]对于中小型运营商市场,运营商多采用小型盒式OLT进行光通信组网,为客户提供光通信宽带服务。也就是我们常说的FTTH,FTTB。但对于大部分小型盒式OLT产品,在设计程序的时候,为了保障ONU注册过程中各种异常情况的处理,将程序设计为串行流程程式处理。这样的程序,从ONU发现开始注册,到每个注册过程的处理,包括向ONU发送请求,然后等待ONU回应,均是阻塞式的。这样的程序,前后逻辑清晰,实现简单。但在阻塞式ONU注册过程中,每台耗费15~30秒的时间才能完成注册,其瓶颈并非是注册过程需要消耗这么多的处理资源,而是OLT和ONU通信工程中的时间延迟消耗,虽然光通信速率非常快(2.5Gbits),但是ONU收到光信号到ONU的应用程序作出反应,完成处理,发送响应,这个过程网关需要几毫秒,到几十毫秒,而整个注册过程,有几百次的交互过程,导致注册时间过长和OLT的处理资源浪费严重。

技术实现思路

[0003](一)申请目的
[0004]有鉴于此,本申请的目的在于提供一种基于二阶查找表的OLT ONU注册管理的方法和系统,用于解决现有技术中小型盒式OLT采用阻塞式ONU注册,导致注册时间过长和OLT的处理资源浪费严重的问题。
[0005](二)技术方案
[0006]本申请公开了一种基于二阶查找表的OLT ONU注册管理的方法,包括如下步骤:
[0007]S1、创建多个状态机实例,每个所述状态机实例与连接的每个ONU一一对应,每个所述状态机实例将对应的每个ONU的OMCI注册过程按执行顺序分解为多个一阶状态,每个所述一阶状态按执行顺序分解为多个二阶状态;
[0008]S2、根据所述多个一阶状态创建一阶状态表,根据每个所述一阶状态创建该一阶状态的二阶状态表;
[0009]S3、基于每个状态机实例的当前状态向对应的ONU发送对应的OMCI注册报文并缓存所述对应的OMCI注册报文的序列号,当接收到ONU发送的报文时,比较该报文的发送序列号是否是缓存的序列号中的其中一个,若是,基于该序列号对应的状态机实例执行相应指令。
[0010]在一种可能的实施方式中,所述步骤S3具体为:当ONU OMCI端口在物理层配置完成后,ONU发消息通知应用层,应用层启动OMCI注册状态;每个状态机实例查找一阶状态表,查找一阶状态表中的第一次序的一阶状态的二阶状态表入口并调取第一次序的一阶状态的二阶状态表;根据二阶状态表定位所述第一次序的一阶状态按执行顺序分解成的多个二
阶状态中的第一次序状态,当根据二阶状态表定位二阶状态中的第一次序状态时,状态机实例根据状态迁移函数将当前状态迁移为定位的二阶状态的第一次序状态,调取所述二阶状态中的第一次序状态的OMCI报文处理句柄;发送对应的OMCI报文请求给ONU,缓存所述对应的OMCI注册报文的序列号;接收ONU发送的报文,比较该报文的序列号是否是所述缓存序列号中的其中一个,若是,该报文是所述基于每个状态机实例的当前状态向ONU发送OMCI注册报文其中一个的响应报文,所述基于该序列号对应的状态机实例查找一阶状态表中的第一次序的一阶状态的二阶状态表入口并调取第一次序的一阶状态的二阶状态表;根据二阶状态表定位所述第一次序的一阶状态按执行顺序分解成的多个二阶状态中的第二次序状态,当根据二阶状态表定位二阶状态中的第二次序状态时,状态机实例根据状态迁移函数将当前状态迁移为定位的二阶状态的第二次序状态,调取所述二阶状态中的第二次序状态的OMCI报文处理句柄;发送对应的OMCI报文请求给ONU,缓存所述对应的OMCI注册报文的序列号;以此类推,直到完成状态机实例所有二阶状态迁移。
[0011]在一种可能的实施方式中,当当前状态为任一一个一阶状态的多个二阶状态中的最后一个二阶状态时,所述当前状态的后一状态为该所述任一一个一阶状态的后一个一阶状态的二阶状态中的第一次序状态。
[0012]在一种可能的实施方式中,当基于每个状态机实例的当前状态向对应的ONU发送对应的OMCI注册报文并缓存所述对应的OMCI注册报文的序列号,启动该所述状态机实例的定时器,判断该状态机实例的当前状态是否处于超时。
[0013]在一种可能的实施方式中,所述定时器采用两个32位无符号整数作为存储单元。
[0014]作为本申请的第二方面,还公开了一种基于二阶查找表的OLT ONU注册管理的系统,包括状态机实例模块、一阶状态表模块、二阶状态表模块和报文单元;
[0015]所述状态机实例模块用于每个所述状态机实例与连接的每个ONU一一对应,每个所述状态机实例将对应的每个ONU的OMCI注册过程按执行顺序分解为多个一阶状态,每个所述一阶状态按执行顺序分解为多个二阶状态;
[0016]所述一阶状态表模块用于根据所述多个一阶状态创建一阶状态表,根据每个所述一阶状态创建该一阶状态的二阶状态表;
[0017]所述报文单元包括OMCI报文发送模401、序列号缓存模块402、报文接收模块403;所述OMCI报文发送模块用于基于每个状态机实例的当前状态向对应的ONU发送对应的OMCI注册报文,所述序列号缓存模块用于缓存所述对应的OMCI注册报文的序列号,所述报文接收模块用于接收ONU发送的报文,当接收到ONU发送的报文时,比较该报文的发送序列号是否是缓存的序列号中的其中一个,若是,基于该序列号对应的状态机实例执行相应指令。
[0018]在一种可能的实施方式中,当ONU OMCI端口在物理层配置完成后,ONU发消息通知应用层,应用层启动OMCI注册状态;每个状态机实例查找一阶状态表,查找一阶状态表中的第一次序的一阶状态的二阶状态表入口并调取第一次序的一阶状态的二阶状态表;根据二阶状态表定位所述第一次序的一阶状态按执行顺序分解成的多个二阶状态中的第一次序状态,当根据二阶状态表定位二阶状态中的第一次序状态时,状态机实例根据状态迁移函数将当前状态迁移为定位的二阶状态的第一次序状态,调取所述二阶状态中的第一次序状态的OMCI报文处理句柄;发送对应的OMCI报文请求给ONU,缓存所述对应的OMCI注册报文的序列号;接收ONU发送的报文,比较该报文的序列号是否是所述缓存序列号中的其中一个,
若是,该报文是所述基于每个状态机实例的当前状态向ONU发送OMCI注册报文其中一个的响应报文,所述基于该序列号对应的状态机实例查找一阶状态表中的第一次序的一阶状态的二阶状态表入口并调取第一次序的一阶状态的二阶状态表;根据二阶状态表定位所述第一次序的一阶状态按执行顺序分解成的多个二阶状态中的第二次序状态,当根据二阶状态表定位二阶状态中的第二次序状态时,状态机实例根据状态迁移函数将当前状态迁移为定位的二阶状态的第二次序状态,调取所述二阶状态中的第二次序状态的OMCI报文处理句柄;发送对应的OMCI报文请求给ONU,缓存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于二阶查找表的OLT ONU注册管理的方法,其特征在于,包括如下步骤:S1、创建多个状态机实例,每个所述状态机实例与连接的每个ONU一一对应,每个所述状态机实例将对应的每个ONU的OMCI注册过程按执行顺序分解为多个一阶状态,每个所述一阶状态按执行顺序分解为多个二阶状态;S2、根据所述多个一阶状态创建一阶状态表,根据每个所述一阶状态创建该一阶状态的二阶状态表;S3、基于每个状态机实例的当前状态向对应的ONU发送对应的OMCI注册报文并缓存所述对应的OMCI注册报文的序列号,当接收到ONU发送的报文时,比较该报文的发送序列号是否是缓存的序列号中的其中一个,若是,基于该序列号对应的状态机实例执行相应指令。2.根据权利要求1所述的一种基于二阶查找表的OLT ONU注册管理的方法,其特征在于,所述步骤S3具体为:当ONU OMCI端口在物理层配置完成后,ONU发消息通知应用层,应用层启动OMCI注册状态;每个状态机实例查找一阶状态表,查找一阶状态表中的第一次序的一阶状态的二阶状态表入口并调取第一次序的一阶状态的二阶状态表;根据二阶状态表定位所述第一次序的一阶状态按执行顺序分解成的多个二阶状态中的第一次序状态,当根据二阶状态表定位二阶状态中的第一次序状态时,状态机实例根据状态迁移函数将当前状态迁移为定位的二阶状态的第一次序状态,调取所述二阶状态中的第一次序状态的OMCI报文处理句柄;发送对应的OMCI报文请求给ONU,缓存所述对应的OMCI注册报文的序列号;接收ONU发送的报文,比较该报文的序列号是否是所述缓存序列号中的其中一个,若是,该报文是所述基于每个状态机实例的当前状态向ONU发送OMCI注册报文其中一个的响应报文,所述基于该序列号对应的状态机实例查找一阶状态表中的第一次序的一阶状态的二阶状态表入口并调取第一次序的一阶状态的二阶状态表;根据二阶状态表定位所述第一次序的一阶状态按执行顺序分解成的多个二阶状态中的第二次序状态,当根据二阶状态表定位二阶状态中的第二次序状态时,状态机实例根据状态迁移函数将当前状态迁移为定位的二阶状态的第二次序状态,调取所述二阶状态中的第二次序状态的OMCI报文处理句柄;发送对应的OMCI报文请求给ONU,缓存所述对应的OMCI注册报文的序列号;以此类推,直到完成状态机实例所有二阶状态迁移。3.根据权利要求2所述的一种基于二阶查找表的OLT ONU注册管理的方法,其特征在于,当当前状态为任一一个一阶状态的多个二阶状态中的最后一个二阶状态时,所述当前状态的后一状态为该所述任一一个一阶状态的后一个一阶状态的二阶状态中的第一次序状态。4.根据权利要求2所述的一种基于二阶查找表的OLT ONU注册管理的方法,其特征在于,当基于每个状态机实例的当前状态向对应的ONU发送对应的OMCI注册报文并缓存所述对应的OMCI注册报文的序列号,启动该所述状态机实例的定时器,判断该状态机实例的当前状态是否处于超时。5.根据权利要求4所述的一种基于二阶查找表的OLT ONU注册管理的方法,其特征在于,所述定时器采用两个32位无符号整数作为存储单元。6.一种基于二阶查找表的OLT ONU注册管理的系统,其特征在于,包括状态机实例模块、一阶状态表模块、二阶状态表模块和报文单元;所述...

【专利技术属性】
技术研发人员:宋祥林彭佳洪卓轩王喜祝陈政王周锋
申请(专利权)人:深圳市亿联无限科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1