一种OMCI客户端协议栈故障处理方法和装置与流程

未命名 10-21 阅读:61 评论:0

一种omci客户端协议栈故障处理方法和装置
技术领域
1.本发明涉及通信技术领域,特别是涉及一种omci客户端协议栈故障处理方法和装置。


背景技术:

2.在fttr(fiber to the room,光纤到房间)系统中,主网关omci(onu management and control interface,光网络单元管理控制接口)客户端协议栈作为olt(optical line terminal,光线路终端)局端控制ont(optical network terminal,光网络终端)终端的控制媒介,它不仅承担了olt和fttr主网关之间建立和释放连接作用,还包括提供控制、识别、从主网关上收集数据以及提供数据的功能,支持部分故障管理功能以及安全管理功能。主网关omci客户端协议栈全面的管理功能决定了其需要和各个功能模块进行数据交互,一旦功能模块在业务运行过程中出现异常,极大的概率会引起主网关omci客户端协议栈的运行异常,比如协议栈的挂死或者堵塞,此时,主网关omci客户端协议栈已经无法正常处理olt设备的下行omci报文,并对主网关的各功能模块进行配置下发或者配置回读操作,导致olt设备无法正常接收到对应的响应报文,当olt设备检测到下行omci报文多次未得到回复时,olt设备会将主网关加进黑名单,或者掉注册,甚至业务中断,造成fttr终端设备的脱管、业务中断甚至是掉线。
3.鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。


技术实现要素:

4.本发明要解决的技术问题是主网关omci客户端故障时,无法及时回复olt报文,导致fttr终端设备的脱管、业务中断或掉线。
5.本发明采用如下技术方案:
6.本发明提供了一种omci客户端协议栈故障处理方法,包括:
7.使用目标信息库对第一转发报文进行处理,得到第二转发报文;其中,所述第一转发报文是由主网关对olt设备的下行omci报文重新封装得到,并传输给子网关的;所述目标信息库是由主网关传输给子网关的;
8.将所述第二转发报文传输给主网关,以便于主网关对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备。
9.优选的,在所述使用目标信息库对第一转发报文进行处理前,所述方法还包括:
10.向主网关发送第一信息库同步消息,在所述第一信息库同步消息中携带预设同步标识,以便于主网关根据所述预设同步标识,识别所述第一信息库同步消息,根据所述第一信息库同步消息,将目标信息库传输给子网关。
11.优选的,在主网关的omci客户端故障恢复后,所述方法还包括:
12.接收来自于主网关的第二信息库同步消息,对所述第二信息库同步消息进行解析;
13.若解析得到所述第二信息库同步消息中携带有预设同步标识,则将所述目标信息库传输给主网关,以便于主网关使用所述目标信息库对olt设备的后续下行omci报文进行处理。
14.第二方面,本发明还提供了一种omci客户端协议栈故障处理方法,向子网关传输目标信息库,监测omci客户端的故障情况,当监测得到omci客户端发生故障后,包括:
15.对来自于olt设备的下行omci报文重新封装得到第一转发报文,将所述第一转发报文转发给子网关,以便于子网关对所述第一转发报文进行处理,得到第二转发报文;
16.接收来自于子网关的第二转发报文,对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备。
17.优选的,所述目标信息库为omci客户端和omci服务端的共享信息库,所述向子网关传输目标信息库,具体包括:
18.所述omci服务端接收来自于子网关的第一信息库同步消息,对所述第一信息库同步消息进行解析;
19.若解析得到所述第一信息库同步消息中携带有预设同步标识,则将所述目标信息库传输给子网关。
20.优选的,所述将所述目标信息库传输给子网关,具体包括:
21.所述omci服务端访问所述目标信息库,计算所述第一客户端数据库中所包含实例的实例数量,将所述实例数量传输给子网关,以便于子网关根据所述实例数量,向omci服务端发送实例同步消息;
22.所述omci服务端接收来自于子网关的实例同步消息,从所述实例同步消息中解析得到实例序号,将所述实例序号所对应的实例传输给子网关。
23.优选的,所述接收来自于olt设备的下行omci报文,对所述下行omci报文重新封装得到第一转发报文,将所述第一转发报文转发给子网关,具体包括:
24.报文收发控制模块接收来自于olt设备的下行omci报文,将所述下行omci报文转发给omci服务端;
25.所述omci服务端在所述下行omci报文中携带预设标识,得到第一转发报文,将所述第一转发报文转发给子网关,以便于子网关根据所述预设标识,识别所述第一转发报文。
26.优选的,所述接收来自于子网关的第二转发报文,对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备,具体包括:
27.omci服务端接收来自于子网关的第二转发报文,对所述第二转发报文进行解析;
28.若解析得到所述第二转发报文中携带有预设标识,则从所述第二转发报文中去除所述预设标识,得到所述第一响应报文,将所述第一响应报文转发给报文收发控制模块;
29.所述报文收发控制模块将所述第一响应报文传输给olt设备。
30.优选的,在监测得到omci客户端发生故障后,所述方法还包括:
31.监测omci客户端的故障恢复情况;
32.当监测得到omci客户端故障恢复时,向子网关发送第二信息库同步消息,以便于子网关根据所述第二信息库同步消息,向主网关发送目标信息库;
33.所述主网关接收所述目标信息库,以便于omci客户端使用所述目标信息库处理olt设备的后续下行omci报文。
34.第三方面,本发明还提供了一种omci客户端协议栈故障处理装置,用于实现第一方面或第二方面所述的omci客户端协议栈故障处理方法,所述装置包括:
35.至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的omci客户端协议栈故障处理方法。
36.第四方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面或第二方面所述的omci客户端协议栈故障处理方法。
37.本发明通过在主网关的omci客户端发生故障后,在子网关中存储目标信息库,并复用主网关与子网关之间的通信通道,以及子网关处理报文的能力,使子网关替代主网关使用目标信息库对olt设备的下行omci报文进行处理,从而维持fttr终端设备的业务正常运行。
附图说明
38.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明实施例提供的一种现有技术中的主网关和子网关的交互示意图;
40.图2是本发明实施例提供的一种omci客户端协议栈故障处理方法的流程示意图;
41.图3是本发明实施例提供的一种主网关和子网关的交互示意图;
42.图4是本发明实施例提供的一种omci客户端协议栈故障处理方法中临时报文的格式示意图;
43.图5是本发明实施例提供的一种omci客户端协议栈故障处理方法中第一转发报文和第二转发报文的格式示意图;
44.图6是本发明实施例提供的另一种omci客户端协议栈故障处理方法中第一转发报文和第二转发报文的格式示意图;
45.图7是本发明实施例提供的一种omci客户端协议栈故障处理方法中信息库同步消息的格式示意图;
46.图8是本发明实施例提供的另一种omci客户端协议栈故障处理方法中信息库同步消息的格式示意图;
47.图9是本发明实施例提供的另一种omci客户端协议栈故障处理方法的流程示意图;
48.图10是本发明实施例提供的再一种omci客户端协议栈故障处理方法的流程示意图;
49.图11是本发明实施例提供的一种主网关和子网关的交互示意图;
50.图12是本发明实施例提供的一种omci客户端协议栈故障处理装置的架构示意图。
具体实施方式
51.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
52.为了使本发明的技术方案更加清楚明白,本发明在此还对现有技术中olt设备、主网关和子网关的连接架构以及现有技术中olt设备下行omci报文的处理机制进行说明,如图1所示为现有技术中olt设备、主网关和子网关的连接架构示意图,其中,主网关中包括报文收发控制模块、omci客户端协议栈、omci服务端协议栈、功能模块和mib(management information base,管理信息库)库,子网关中包括omci协议栈和mib库。为了便于区分,在后续实施例中也将主网关中的mib库称作目标信息库,将子网关中的mib库称作本地信息库。将主网关中的omci客户端协议栈简称为omci客户端,将主网关中的omci服务端协议栈简称为omci服务端,将子网关中的omci协议栈直接称作omci协议栈。
53.fttr系统中,主网关向上连接局端的olt设备,通过运营商网络提供入户接入带宽,并且对子网关的进行注册和业务管理。主网关运行着两个omci协议栈,包括omci客户端协议栈和omci服务端协议栈。其中,omci客户端协议栈负责处理与olt的omci交互,主网关omci服务端协议栈负责与子网关的omci协议栈进行omci交互。子网关布置在用户的各个房间,向上通过光纤接入主网关,向下为各终端设备提供wifi、ge口和iptv口,进行上网或者iptv业务,子网关只运行着一个协议栈,负责与主网关服务端进行omci交互,通过omci完成注册以及业务开通。
54.主网关中的omci客户端与功能模块相连接,并拥有目标信息库的访问权限,目标信息库中存储着olt设备和主网关之间交互使用和产生的所有实例,它不仅包含主网关的基本设备信息如物理sn、设备mac地址、设备形态信息和状态信息等,还包含的olt设备下发的各类业务配置信息和统计信息,用于omci客户端根据该目标信息库处理olt设备的下行omci报文,所述下行omci报文即为由olt设备发送给主网关的管理报文,同样的,olt设备和主网关之间的状态信息的改变以及配置的变更,均被主网关记录在目标信息库中,可理解为目标信息库中存储有用于处理olt设备的下行omci报文的信息。
55.功能模块则用于对主网关或网络设备进行配置,当功能模块异常时,与功能模块所连接的omci客户端也有极大概率会受到影响,导致omci客户端挂死或堵塞,导致无法正常处理olt的omci报文并对主网关的各功能模块进行配置下发或者配置回读操作,而olt设备的下行omci报文大多数为用于维持业务运行的管理报文,即用于维持正常的业务运行,而不涉及网络设备的配置,这类报文的处理通常仅需依靠目标信息库即可完成,而无需功能模块的参与,但当omci客户端因功能模块的异常而挂死时,无法对该类报文进行处理,olt设备发送的omci报文需要进行及时回复,多次未回复报文,olt设备会将主网关加进黑名单,或者掉注册,甚至导致业务中断。
56.omci服务端与子网关的omci协议栈之间设置有通信通道,用于主网关和子网关之间进行交互,两者之间的交互通常用于子网关的配置,将该类报文称作交互报文,omci服务端传输给子网关的交互报文由omci协议栈根据本地信息库进行处理。
57.本发明中术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以
明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
58.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
59.实施例1:
60.现有技术中,主网关omci客户端故障时,无法及时回复olt报文,导致fttr终端设备的脱管、业务中断或掉线,为了解决此问题,本发明实施例1提供了一种omci客户端协议栈故障处理方法,本实施例所述方法的执行主体为子网关,如图2所示,包括:
61.在步骤201中,使用所述目标信息库对第一转发报文进行处理,得到第二转发报文;其中,所述第一转发报文是由主网关对olt设备的下行omci报文重新封装得到,并传输给子网关的;所述下行omci报文为olt设备传输给主网关处理的管理报文,所述第一转发报文是通过复用主网关与子网关之间的通信通道传输给子网关的;所述目标信息库是由主网关传输给子网关的。
62.在步骤202中,将所述第二转发报文传输给主网关,以便于主网关对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备,所述第一响应报文即为用于响应所述下行omci报文的上行omci报文。
63.在此需要说明的是,所述步骤201和步骤202均在主网关的omci客户端发生故障后执行,在主网关的omci客户端未发生故障时,依旧由主网关处理olt设备的下行omci报文。
64.所述步骤201中的重新封装和步骤202中的重新封装均不改变报文所传递的核心信息,而是对报文的格式或报文的目的地址进行变更,以使报文能够到达子网关或olt设备,并被子网关或olt设备正确识别。
65.本实施例通过在主网关的omci客户端发生故障后,在子网关中存储目标信息库,并复用主网关与子网关之间的通信通道,以及子网关处理报文的能力,使子网关替代主网关使用目标信息库对olt设备的下行omci报文进行处理,从而维持fttr终端设备的业务正常运行。
66.在优选的实施方式中,为了维持子网关与主网关之间的正常交互,如图3所示,所述目标信息库与本地信息库分开存储,子网关使用本地信息库处理与主网关之间的交互报文,使用目标信息库处理第一转发报文。在该优选的实施方式下,由于子网关还接收来自主网关的交互报文,对应交互报文和第一转发报文的处理方式不同,为了正确区分报文属于交互报文还是第一转发报文,本实施例提供了一种可选的实施方式,具体包括:
67.当接收到来自于主网关的报文时,对所述报文进行解析,若解析得到所述报文中携带有预设标识,则识别得到所述报文为第一转发报文;否则,所述报文为交互报文。其中,所述预设标识是由主网关对下行omci报文进行重新封装得到第一转发报文时,携带在第一转发报文中的。
68.与之对应的,为了便于主网关识别来自于子网关的报文属于交互报文还是第二转发报文,本实施例还提供了一种可选的实施方式,即所述使用目标信息库对第一转发报文进行处理,得到第二转发报文,具体包括:使用所述目标信息库对第一转发报文进行处理,得到临时报文;在所述临时报文中携带预设标识,得到第二转发报文,以便于主网关根据所述预设标识,识别所述第二转发报文。
69.所述预设标识为将报文的预设位置设置为预设值,从而形成所述预设标识。所述预设位置和预设值均是由本领域技术人员根据报文的结构和经验分析得到。举例而言,所述临时报文的格式如图4所示,包括2bit的tci(transaction correlation identifier,事务关联标识)、1byte的message type、1byte的device identifier、4bytes的message identifier和32bytes的message contents;其中,在实际应用中,发现message type和device identifier中仍有未使用的空闲位,故将message type或device identifier中的部分位置作为预设位置,如将message type进行拆分,其中的1bit作为预设位置,在图5中表现为olt identifier,剩余的7bit依旧为message type,当olt identifier值为1(即预设值为1)时,代表报文为第一转发报文或第二转发报文;又或者将device identifier进行拆分,其中的4bit作为预设位置,在图6中表现为olt identifier,剩余的4bit为由omci报文协议所定义的omci type。当olt identifier的4bit均为1时,代表报文为第一转发报文或第二转发报文。
70.在实际的应用场景下,所述目标信息库的传输是通过子网关主动向主网关发送相应的同步消息,再根据该同步消息进行同步实现的,具体的,在所述使用目标信息库对第一转发报文进行处理前,所述方法还包括:向主网关发送第一信息库同步消息,在所述第一信息库同步消息中携带预设同步标识,以便于主网关根据所述预设同步标识,识别所述第一信息库同步消息,根据所述第一信息库同步消息,将目标信息库传输给子网关。
71.在可选的实施方式中,所述向主网关发送第一信息库同步消息可以是:子网关在首次接收到第一转发报文时,向主网关发送第一信息库同步消息。
72.所述第一信息库同步消息可以是mib upload消息,所述mib upload消息如图7所示,将message identifier拆分为2byte的entity class和2byte的entity instance,其中,当entity instance的值为1时,代表携带有预设同步标识,即该消息为第一信息库同步消息。还可在message type中携带预设标识,即olt identifier,或将device identifier拆分为两部分,如图8所示,一部分用于携带预设标识,即olt identifier,另一部分为由omci报文协议所定义的omci type。
73.所述目标信息库可理解为实例的集合,所述将目标信息库传输给子网关即可理解为各个实例的传输过程,具体为:主网关在接收到第一信息库同步消息(即mib upload消息)后,主网关将目标信息库中所包含的实例的数量携带在mib upload response消息中返回给子网关,子网关接收到mib upload response消息后,向主网关依次发送实例同步消息(即mib upload next消息),在每个实例同步消息中携带相应实例的序列号,主网关接收到实例同步消息时,从中取出序列号,将该序列号在目标信息库中所对应的实例封装在mib upload next response消息中发送给子网关。
74.其中,所述mib upload response消息、mib upload next消息和mib upload next response消息的格式均与mib upload消息的格式相同,实例的数量、实例号以及实例等信息均携带在相应消息的message contents中,并同样可在消息中携带预设同步标识和预设标识,该过程与在mib upload消息中携带预设同步标识和预设标识的过程相同,在此不再赘述。
75.在实际的应用场景下,主网关的omci客户端还可能故障恢复,此时,由于在故障期间,用于处理olt设备的下行omci报文的信息存储到了子网关中(即目标信息库),为了确保
主网关的omci客户端在故障恢复后能够正常处理olt设备的下行omci报文,还对主网关进行信息库的同步,即在主网关的omci客户端故障恢复后,所述方法还包括:接收来自于主网关的第二信息库同步消息,对所述第二信息库同步消息进行解析;若解析得到所述第二信息库同步消息中携带有预设同步标识,则将所述目标信息库传输给主网关,以便于主网关使用所述目标信息库对olt设备的后续下行omci报文进行处理。在可选的实施方式中,所述第二信息库同步消息与第一信息库同步消息的格式一致。
76.实施例2:
77.本发明在提供了实施例1所描述的omci客户端协议栈故障处理方法后,本发明实施例还将进一步提供一种omci客户端协议栈故障处理方法,本实施例的omci客户端协议栈故障处理方法的执行主体为主网关,为的是对实施例1中相应方法从主网关角度侧做相关阐述,并进一步就其设计原理做相关的深入分析。
78.本实施例所述的omci客户端协议栈故障处理方法为向子网关传输目标信息库,监测omci客户端的故障情况,当监测得到omci客户端发生故障后,如图9所示,包括:
79.在步骤301中,对来自于olt设备的下行omci报文重新封装得到第一转发报文,将所述第一转发报文转发给子网关,以便于子网关对所述第一转发报文进行处理,得到第二转发报文。
80.在步骤302中,接收来自于子网关的第二转发报文,对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备。
81.其中,所述向子网关传输目标信息库,可以是在接收到来自子网关的第一信息库同步消息后,向子网关传输目标信息库。所述步骤301-步骤302均为主网关的omci客户端发生故障后执行,在主网关的omci客户端未发生故障时,olt设备的下行omci报文依旧由主网关的omci客户端进行处理。
82.所述监测omci客户端的故障情况可以是:报文收发控制模块监测在向omci客户端传输相应下行omci报文后,是否在预设时间内接收到来自omci客户端的第二响应报文,所述第二响应报文即为用于响应所述下行omci报文的上行omci报文;若监测到连续n次未在第一预设时间内接收到来自omci客户端的第二响应报文的次数,则监测得到omci客户端发生故障,所述预设时间和n均由本领域技术人员根据经验分析得到。
83.所述将所述第一转发报文转发给子网关可以是在稳定接入主网关且被主网关认证授权的多个子网关中,选择当前不处于升级状态的子网关,向该子网关发送第一转发报文。
84.本实施例通过将目标信息库和下行omci报文转发给子网关,使子网关替代主网关执行处理olt设备下行omci报文,从而维持olt设备的正常运行,防止主网关的功能模块异常时,引发fttr终端设备的脱管或业务掉线。
85.在可选的实施方式中,所述接收来自于olt设备的下行omci报文,对所述下行omci报文重新封装得到第一转发报文,将所述第一转发报文转发给子网关,具体包括:报文收发控制模块接收来自于olt设备的下行omci报文,将所述下行omci报文转发给omci服务端;所述omci服务端在所述下行omci报文中携带预设标识,得到第一转发报文,将所述第一转发报文转发给子网关,以便于子网关根据所述预设标识,识别所述第一转发报文。所述预设标识在实施例1中已进行了阐述,在此不加以赘述。
86.其中,所述omci服务端在所述下行omci报文中携带预设标识的目的在于与omci服务端与子网关之间的交互报文相区分,以便于子网关进行区分识别。所述omci服务端通过复用与子网关之间进行交互报文传输的通信通道,将所述第一转发报文转发给子网关。
87.在实际的应用场景下,所述接收来自于子网关的第二转发报文,对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备,具体包括:omci服务端接收来自于子网关的第二转发报文,对所述第二转发报文进行解析;对第二转发报文进行解析所借用的是omci服务端自身处理交互报文的能力。若解析得到所述第二转发报文中携带有预设标识,则从所述第二转发报文中去除所述预设标识,得到所述第一响应报文,将所述第一响应报文转发给报文收发控制模块;其中,所述第二转发报文中的预设标识用于omci服务端对所述第二转发报文以及omci服务端与子网关之间的交互报文进行区分,以识别所述第二转发报文。报文收发控制模块将来自于omci服务端的所有报文均识别为第一响应报文。所述报文收发控制模块将所述第一响应报文传输给olt设备。
88.本实施例还提供了一种传输客户端目标信息库的可选的实施方式,具体的:所述目标信息库为omci客户端和omci服务端的共享信息库,使所述omci服务端拥有访问和获取所述目标信息库的能力,所述向子网关传输目标信息库,如图10和图11所示,具体包括:
89.在步骤401中,所述omci服务端接收来自于子网关的第一信息库同步消息,对所述第一信息库同步消息进行解析。
90.在步骤402中,若解析得到所述第一信息库同步消息中携带有预设同步标识,则将所述目标信息库传输给子网关。
91.在实际使用中,所述将目标信息库传输给子网关,具体包括:所述omci服务端访问所述目标信息库,计算所述第一客户端数据库中所包含实例的实例数量,将所述实例数量传输给子网关,以便于子网关根据所述实例数量,向omci服务端发送实例同步消息;所述omci服务端接收来自于子网关的实例同步消息,从所述实例同步消息中解析得到实例序号,将所述实例序号所对应的实例传输给子网关。
92.在实际的应用场景下,所述第一信息库同步消息为mib upload消息,所述实例同步消息为mib upload next消息,在所述第一信息库同步消息中和所述实例同步消息中均携带有所述预设同步标识,以便于所述omci服务端识别所述第一信息库同步消息和所述实例同步消息。
93.在实际使用中,主网关的omci客户端还可能故障恢复,本实施例在监测得到omci客户端发生故障后,还提供了一种可选的实施方式,即所述方法还包括:监测omci客户端的故障恢复情况;当监测得到omci客户端故障恢复时,向子网关发送第二信息库同步消息,以便于子网关根据所述第二信息库同步消息,向主网关发送目标信息库;所述主网关接收所述目标信息库,以便于omci客户端使用所述目标信息库处理olt设备的后续下行omci报文。
94.其中,所述监测omci客户端的故障恢复情况,具体包括:报文收发模块在将下行omci报文转发给omci服务端,以通过omci服务端交由子网关进行处理的同时,还将下行omci报文转发给omci客户端;报文收发控制模块监测在向omci客户端传输相应下行omci报文后,是否在预设时间内接收到来自omci客户端的第二响应报文;若连续m次在第二预设时间内接收到来自omci客户端的第二响应报文,则监测得到omci客户端故障恢复,其中,所述预设时间和m由本领域技术人员根据经验分析得到。
95.在此需要说明的是,实施例1和实施例2中所述的各报文的具体格式均是结合具体的应用场景所做的示例性和解释性呈现,并不用于限制本技术。
96.实施例3:
97.本发明基于实施例1和实施例2所描述的方法基础上,结合具体的应用场景,并借由相关场景下的技术表述来阐述本发明特性场景下的实现过程。
98.本实施例所述的omci客户端协议栈故障处理方法具体包括:主网关ont的报文收发控制模块对omci客户端接收和发送的omci报文进行统计和转发,实时监控客户端是否有及时回复olt报文(即是否有根据实施例1中的olt设备的下行omci报文生成第二响应报文),对接收到的olt报文(下行omci报文)和发送出去的报文(第二响应报文)进行实时计数,如果检测到连续超过3次(即实施例2中的n次)未回复,表明主网关的omci客户端协议栈已经异常或者堵塞,对再次接收到的olt的omci报文需要复制一份,一份发送给omci客户端,另一份通过消息队列发送给主网关的omci服务端协议栈。
99.主网关omci服务端协议栈接收到来自omci客户端的报文,对omci消息中的device identifier字段进行扩展修改,使用高4bit位(未使用)来标识此omci报文来自olt报文,修改后的报文即为第一转发报文。如图5或图6所示为扩展的omci消息,通过对device identifier字段的扩展或者是通过对message type字段的扩展均可达到标识olt报文的目的。实施例中是以device identifier扩展为例,扩展的值子网关和主网关进行统一约定即可,本发明中以device identifier的高4bit位设置为1来标识转发的olt的omci报文为例来进行功能说明。
100.主网关轮询所有已经被发现的子网关,选择稳定接入主网关且被主网关认证授权,并且未进行omci升级操作的子网关(主网关升级子网关,子网关需要处理大量的omci报文,处在较繁忙的阶段),通过主网关omci服务端协议栈的发包接口将第一转发报文直接发送给选中子网关,并记录子网关的授权号,只要子网关稳定注册并未进行升级,后续的报文直接发送给该子网关。
101.子网关omci协议栈接收到主网关的omci报文,如果device identifier高4位bit标识为1,识别到此报文为第一转发报文,将第一转发报文分发给子网关的omci协议栈进行处理。这里主要借用的是子网关omci协议栈处理omci报文的能力。
102.其中,如果子网关是首次处理来自主网关的olt报文,则主网关需要将omci客户端协议栈的mib库(即实施例1中的目标信息库)同步至子网关。通过主网关omci客户端协议栈将mib库同步至子网关,可通过扩展mib upload消息中的实例号来实现,如图7所示,主网关和子网关之间约定一个实例号,来标明同步的是主网关的omci客户端协议栈的mib库。主网关omci客户端的mib库中存储着olt设备和主网关之间交互使用和产生的所有实例,它不仅包含主网关的基本设备信息如物理sn、设备mac地址、设备形态信息和状态信息,还包含的olt下发的各类业务配置信息以及统计信息等,olt设备和主网关之间的状态信息的改变和配置的变更均需要同步更新mib库中的数据。主网关omci客户端协议栈将mib库同步至子网关。
103.在此需要说明的是,本实施例中的将主网关omci客户端的mib库同步至子网关并非指代使用主网关omci客户端的mib库对子网关中的mib库进行同步更新,而是将主网关omci客户端的mib库作为目标信息库存储在子网关中,其中,子网关的mib库和目标信息库
分别占用不同的存储空间,二者互不影响,子网关的mib库用于处理子网关与主网关之间的交互报文,目标信息库用于处理第一转发报文。
104.在omci协议中mib upload消息类型的实例号是0,表示olt加载主网关omci客户端的mib库,或者主网关omci协议端加载子网关的mib库,本发明中以扩展mib upload消息的实例号设置1为例,来标明子网关加载的是主网关omci客户端协议栈的mib库。同步的流程遵循的g.988标准中mib upload交互流程,具体包括:
105.子网关向主网关发起mib upload(即第一信息库同步消息),主网关计算omci客户端mib库中包含的实例的数量,并回复给子网关,子网关通过mib upload next加载主网关omci客户端的所有mib实例数据,完成主网关omci客户端协议栈的mib库的同步。比如同步实例onu-g(256号me),在主网关中实例的序列号为1,子网关使用mib upload next消息(即实例同步消息),消息中序列号为1,主网关接收到mib upload next消息,解析出序列号为1,在mib库里面获取序列号为1的实例onu-g(256号me),并获取该实例的各个属性值,并回复给子网关,完成实例onu-g(256号me)的同步。
106.子网关中的omci协议栈对识别出的各种消息类型的第一转发报文进行解析,并通过目标信息库,执行包括回读、设置、创建和删除mib库数据等操作,最终组建第二转发报文并发送给主网关的omci服务端协议栈。
107.主网关omci服务协议栈接收到子网关发回的omci报文,对omci报文中device identifier进行校验,如果高4bit位是1,则判断为子网关代处理过的第二转发报文,将device identifier高4bit位进行恢复(重置为0),得到第一响应报文,将第一响应报文通过消息队列发送给报文收发控制模块进行处理,报文收发控制模块将第一响应报文发送给olt,完成olt报文的回复。
108.为了应对omci客户端故障恢复的场景,本实施例所述的方法还包括:
109.主网关ont的报文收发控制模块在omci客户端协议站异常或者堵塞之后,仍然在持续监测omci客户端协议栈处理olt报文回包状态,如果主网关ont的报文收发控制模块连续3次(即实施例2中的m次)检测收到omci客户端协议栈的olt报文报文回复,则认为主网关的omci客户端协议栈恢复正常,可正常处理olt的omci报文,主网关ont的报文收发控制模块对接收到的olt报文不再复制转发给主网关的omci服务端协议栈处理,直接发给主网关omci客户端协议栈处理。
110.其中,在omci客户端故障恢复时,omci服务端协议栈通过mib upload消息(扩展的实例号1)(即第二信息库同步消息)将子网关上存储的目标信息库同步至主网关,这一步骤主要是为了在主网关omci服务端协议栈故障期间,olt给onu下发的配置发生了变化情况下,也能使主网关omci客户端协议栈的mib库数据与olt的数据保持同步更新。
111.根据同步完成的mib库的数据,重新将配置进行分发给各个功能模块,完成主网关与olt的配置同步。完成mib库同步和配置同步后,后续接收到的omci报文可不用再次执行。
112.主网关的omci服务端协议栈解析完omci报文,根据解析出的数据和对应的功能模块完成数据交互后,组建omci回报,发送给主网关的报文收发控制模块,最终发送给olt,完成olt的报文回复。
113.实施例4:
114.如图12所示,是本发明实施例的omci客户端协议栈故障处理装置的架构示意图。
本实施例的omci客户端协议栈故障处理装置包括一个或多个处理器21以及存储器22。其中,图12中以一个处理器21为例。
115.处理器21和存储器22可以通过总线或者其他方式连接,图12中以通过总线连接为例。
116.存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1或实施例2中的omci客户端协议栈故障处理方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行omci客户端协议栈故障处理方法。
117.存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
118.所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1或实施例2中的omci客户端协议栈故障处理方法。当执行实施例1中的omci客户端协议栈故障处理方法时,所述装置为子网关,当执行实施例2中的omci客户端协议栈故障处理方法时,所述装置为主网关。
119.值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
120.本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
121.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种omci客户端协议栈故障处理方法,其特征在于,包括:使用目标信息库对第一转发报文进行处理,得到第二转发报文;其中,所述第一转发报文是由主网关对olt设备的下行omci报文重新封装得到,并传输给子网关的;所述目标信息库是由主网关传输给子网关的;将所述第二转发报文传输给主网关,以便于主网关对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备。2.根据权利要求1所述的omci客户端协议栈故障处理方法,其特征在于,在所述使用目标信息库对第一转发报文进行处理前,所述方法还包括:向主网关发送第一信息库同步消息,在所述第一信息库同步消息中携带预设同步标识,以便于主网关根据所述预设同步标识,识别所述第一信息库同步消息,根据所述第一信息库同步消息,将目标信息库传输给子网关。3.根据权利要求1或权利要求2所述的omci客户端协议栈故障处理方法,其特征在于,在主网关的omci客户端故障恢复后,所述方法还包括:接收来自于主网关的第二信息库同步消息,对所述第二信息库同步消息进行解析;若解析得到所述第二信息库同步消息中携带有预设同步标识,则将所述目标信息库传输给主网关,以便于主网关使用所述目标信息库对olt设备的后续下行omci报文进行处理。4.一种omci客户端协议栈故障处理方法,其特征在于,向子网关传输目标信息库,监测omci客户端的故障情况,当监测得到omci客户端发生故障后,包括:对来自于olt设备的下行omci报文重新封装得到第一转发报文,将所述第一转发报文转发给子网关,以便于子网关对所述第一转发报文进行处理,得到第二转发报文;接收来自于子网关的第二转发报文,对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备。5.根据权利要求4所述的omci客户端协议栈故障处理方法,其特征在于,所述目标信息库为omci客户端和omci服务端的共享信息库,所述向子网关传输目标信息库,具体包括:所述omci服务端接收来自于子网关的第一信息库同步消息,对所述第一信息库同步消息进行解析;若解析得到所述第一信息库同步消息中携带有预设同步标识,则将所述目标信息库传输给子网关。6.根据权利要求5所述的omci客户端协议栈故障处理方法,其特征在于,所述将所述目标信息库传输给子网关,具体包括:所述omci服务端访问所述目标信息库,计算所述第一客户端数据库中所包含实例的实例数量,将所述实例数量传输给子网关,以便于子网关根据所述实例数量,向omci服务端发送实例同步消息;所述omci服务端接收来自于子网关的实例同步消息,从所述实例同步消息中解析得到实例序号,将所述实例序号所对应的实例传输给子网关。7.根据权利要求4所述的omci客户端协议栈故障处理方法,其特征在于,所述接收来自于olt设备的下行omci报文,对所述下行omci报文重新封装得到第一转发报文,将所述第一转发报文转发给子网关,具体包括:报文收发控制模块接收来自于olt设备的下行omci报文,将所述下行omci报文转发给
omci服务端;所述omci服务端在所述下行omci报文中携带预设标识,得到第一转发报文,将所述第一转发报文转发给子网关,以便于子网关根据所述预设标识,识别所述第一转发报文。8.根据权利要求4所述的omci客户端协议栈故障处理方法,其特征在于,所述接收来自于子网关的第二转发报文,对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给olt设备,具体包括:omci服务端接收来自于子网关的第二转发报文,对所述第二转发报文进行解析;若解析得到所述第二转发报文中携带有预设标识,则从所述第二转发报文中去除所述预设标识,得到所述第一响应报文,将所述第一响应报文转发给报文收发控制模块;所述报文收发控制模块将所述第一响应报文传输给olt设备。9.根据权利要求4-8任一所述的omci客户端协议栈故障处理方法,其特征在于,在监测得到omci客户端发生故障后,所述方法还包括:监测omci客户端的故障恢复情况;当监测得到omci客户端故障恢复时,向子网关发送第二信息库同步消息,以便于子网关根据所述第二信息库同步消息,向主网关发送目标信息库;所述主网关接收所述目标信息库,以便于omci客户端使用所述目标信息库处理olt设备的后续下行omci报文。10.一种omci客户端协议栈故障处理装置,其特征在于,所述装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-3任一所述的omci客户端协议栈故障处理方法或权利要求4-9任一所述的omci客户端协议栈故障处理方法。

技术总结
本发明涉及通信技术领域,提供了一种OMCI客户端协议栈故障处理方法和装置。其中所述方法包括:使用目标信息库对第一转发报文进行处理,得到第二转发报文;其中,第一转发报文是由主网关对OLT设备的下行OMCI报文重新封装得到,并传输给子网关的;所述目标信息库是由主网关传输给子网关的;将所述第二转发报文传输给主网关,主网关对所述第二转发报文重新封装得到第一响应报文,将所述第一响应报文传输给OLT设备。本发明通过在主网关的OMCI客户端发生故障后,在子网关中存储目标信息库,并复用主网关与子网关之间的通信通道,以及子网关处理报文的能力,使子网关替代主网关使用目标信息库对OLT设备的下行OMCI报文进行处理,从而维持FTTR终端设备的业务正常运行。维持FTTR终端设备的业务正常运行。维持FTTR终端设备的业务正常运行。


技术研发人员:杨婷 朱崇银 王文超 江轲 刘俊龙 张靓 占迪 韩邱子
受保护的技术使用者:烽火通信科技股份有限公司
技术研发日:2023.08.18
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐