王小强——20年国际知名公司大型软件开发经验,精通C++,Python和 JAVA语言 ,擅长clean code和代码重构 , 精通面向对象设计原则和设计模式,熟悉UML建模 , 精通敏捷软件开发,诸如Scrum和极限编程的相关实践 , 熟悉嵌入式通讯设备软件的各个模块(协议,平台和驱动等) ,长期致力于快速构建易维护,易扩展的高质量软件系统。

引言

TYPE-B型PON保护是GPON标准定义的四种PON保护类型之一,也是最常用的一种PON保护类型。ITU的标准文档里对其通用模型做了定义。但在具体实现该保护模型时,要涉及到很多细节,每个设备厂商的实现细节都有较大差异,尤其涉及到ONT的管理,数据同步方法,跨网元保护组的管理策略等方面差异很大。本文将描述本公司对该模型的实现方案。

 1 

系统概述

TYPE-B型PON保护的网络部署如下图所示:该模型通过采用2:N的光分路器提供了对主干光纤的保护。两个相互保护的PON口互为主备,被称为一个保护组。通常情况下,主用PON口承载业务,当主用光纤失效后,业务会切换到备用PON口。

图1:TYPE-B型PON保护的网络部署

本系统与PON保护相关的模块有OAM模块,ONT管理模块,PON管理模块,保护组管理模块,各个业务模块以及外围软件系统CLI和EMS。图2是相关模块的系统结构图。用户可以通过CLI和EMS来进行各种与保护组相关的配置操作,OAM模块负责解析来自CLI或EMS的配置命令并调用相关模块的接口函数完成该配置操作。就拿用CLI创建一个保护组为例,控制卡上的OAM模块会首先解析CLI发来的命令,然后从ONT管理模块获取ONT信息,根据此信息创建一个保护组,并把该保护组的信息通知到保护组管理模块和PON管理模块,最后触发各个业务模块的数据同步。控制卡上的PON管理模块、保护组管理模块和业务管理模块会把相应的配置数据下发到PON卡(OLT)上对应的模块。PON卡上的保护组管理模块将维护切换逻辑以及上报相关告警。

图2:系统软件架构

 2 

系统用例分析和实现方案

和PON保护相关的用例很多,包括保护组相关用例,ONT相关用例,数据同步,切换逻辑和告警上报。和这些用例相关的操作可以通过CLI发起,也可以通过EMS来发起,通过这两种方式发起的配置操作,其处理流程不完全一样。保护组可以跨网元,也可以在同一个网元之内,对这两种保护组的处理流程有很大差异。把这些情况都组合起来用例非常多。以下将分析几个主要的用例,描述其实现方案。

1、保护组相关用例

与保护组相关的操作有创建删除和修改保护组,修改保护组的操作包括主用PON口的选择,切换模式的选择等。以下介绍用CLI创建同一个网元上的保护组的处理流程。图3是用CLI创建保护组的顺序图的控制卡部分。

1)OAM模块解析CLI下发的创建保护组命令。

2)创建保护组前首先要获取在主用和备用PON口上创建的ONT信息。

3)创建保护组,对主用PON口和备用PON口上的ONT按照1对1,2对2的规则进行配对。配对时要以主用PON口为主,如果主用PON口上的某个ONT在备用PON口上还没有创建,要在备用PON口上创建这个ONT。

4)把创建的保护组信息通知到PON管理模块。

5)触发业务数据同步,这一步要把主用PON口上所有ONT的配置同步到备用PON口上对应的ONT上,包括ONT的类型和序列号。经过数据同步后,每对ONT的类型,序列号和业务数据将完全一样。

6)通知EMS,EMS将反过来从网元获取刚刚创建的保护组信息,保存到自己的数据库并刷新相应的界面。

7)如果PON卡在位的话,PON管理模块,ONT管理模块,保护组管理模块和各业务模块还会根据需要把自己的数据下发到PON卡上对应的相关模块。

图3:用CLI创建保护组

2、ONT相关用例

与ONT相关的用例有ONT的创建,删除,属性修改和自动发现。由于配置方式的不同(用CLI配置和用EMS配置)和保护组种类的不同(跨网元和不跨网元),与ONT相关的配置操作会组合出很多用例。以下介绍其中一个,用CLI为跨网元的保护组创建一个ONT。

1)OAM模块解析CLI下发的创建ONT命令。

2)创建ONT,这里的约束条件是,如果该ONT所在的PON口在一个保护组里,则该ONT必须是主用PON口上的ONT。在备用PON扣上的所有操作都将被拒绝。

3)通知EMS,EMS会反过来到网元取新创建的ONT的信息,更新自己的数据库,如果该ONT所在的PON口在一个跨网元的保护组里,EMS要负责创建备用PON口上的ONT(在另外一个网元上),备用PON口上创建的该ONT的属性要和主用PON口上的ONT完全相同。

4)如果该ONT所在的PON口在一个保护组里,则要更新保护组信息。

5)通知PON管理模块。

6)如果PON卡在位的话,PON管理模块,ONT管理模块,保护组管理模块和各业务模块还会根据需要把自己的数据下发到PON卡上对应的相关模块。

图4:用CLI为跨网元的保护组创建一个ONT

3、数据同步

在创建保护组,创建ONT,修改ONT的属性和配置业务数据时都会触发数据同步,所以数据同步可以是其他用例的子用例。用户也可以使用CLI或EMS直接触发数据同步。数据同步的目的就是使备用PON口上的配置数据和主用PON口上的配置数据保持一致,数据同步的方向只能是主用PON口到备用PON口。对于跨网元的保护组,数据同步由EMS来完成;对于同一网元内的保护组,数据同步由网元自己来完成。以下介绍用CLI触发同一个网元内的保护组的数据同步。

1)OAM模块解析CLI下发的数据同步命令。

2)OAM向保护组管理模块获取保护组信息。

3)根据保护组信息,获取所有主用PON口上的ONT的配置信息。

4)把所有主用PON口上的ONT的配置信息同步到备用PON口对应的ONT上。

5)触发业务数据同步,首先获取所有主用PON上ONT的所有业务数据,然后把这些数据同步到备用PON口对应的ONT上。

6)通知EMS,EMS将反过来向网元获取备用PON口上ONT的所有业务数据,更新自己的数据库。

图5:用CLI触发网元内保护组的数据同步

4、主备切换及告警上报

主备切换可以是自动切换,也可以由管理员通过CLI或EMS发起。切换逻辑由PON卡根据相应的配置数据来维护。正常情况下由主用PON口提供业务,如果主用PON口失效,业务将切换到备用PON口,同时上报保护组告警。以下讲述主备自动切换和告警上报的处理流程。

1)PON卡检测到主用PON口失效。

2)所有的ONT都注册到备用PON口。

3)备用PON口承载业务,并上报PON保护告警。

4)PON口检测到主用PON口功能恢复。

5)如果保护组是“revertive”模式,所有的ONT将重新注册到主用PON口,主用PON口开始承载业务,同时清除PON保护告警。

结束语

本文描述了本公司关于TYPE-B型PON保护的实现方案。该方案是对本公司原有的基于光交换机的保护方案的一种改进,主要是为了提高主备切换速度,减少业务中断时间,使得业务中断时间由原来的30秒减少到现在的3秒钟。该方案已在现场部署,其主备切换速度和系统的稳定性得到了用户的肯定。

参考文献:

[1]ITU-T G.984.1,Gigabit-capable Passive OpticalNetworks(GPON): General characteristics

[2]ITU-T G.984.3,Gigabit-capable Passive Optical Networks(GPON): Transmissionconvergence layer specification

[3]ITU-T G.984.4,Gigabit-capable Passive OpticalNetworks(GPON): ONT management and control

interface specification

END

本周三晚八点,王小强将与格蠹科技创始人、前intel软件架构师张银奎,共同作客K+Talk直播间,与大家聊聊软件的高质量之路,软件质量的评判标准,及构建高质量软件的途径和困境。

小伙伴们有相关的问题可以评论区里留言,小编会统统记下,开播后两位老师会一一为大家解答。

7月3-4日,即将于深圳举办的2022K+全球软件研发行业创新峰会,特邀张银奎担任“工具和系统软件研发”专题出品人,并为大家带来“Android系统高级调试”主题内容分享,感兴趣的同学可以点击下方阅读原文了解更多峰会详情。

TYPE-B型PON保护的实现方案相关推荐

  1. 【计算机研究与发展】一种基于区块链的泛用型数据隐私保护的安全多方计算协议——CCF A

    一种基于区块链的泛用型数据隐私保护的安全多方计算协议 刘峰1,3,杨杰3,李志斌 2*,齐佳音3* (1华东师范大学 计算机科学与技术学院,上海,200062: 2华东师范大学 数据科学与工程学院,上 ...

  2. 基于区块链技术的数据安全共享网络体系研究_基于区块链技术的用户信息隐私保护与共享方案...

    随着互联网信息技术的飞速发展,网络数据量迅猛增长,不可避免的数据隐私保护成为用户关注的重点.在金融领域,经历了纸质信息到电子用户交易档案的转变,用户使用云服务器来存储个人数据,但是交易数据包含有众多的 ...

  3. pt100温度变送器,支持k型热电偶4-20mA输出全套方案资料

    pt100温度变送器,支持k型热电偶 4-20mA输出全套方案资料 2线.3线.隔离型.(样板是2线电流/0-10V输出) 0-5V 0-10V输出 国产24位ADC精度0.01度,国产12位DAC千 ...

  4. 自主互助四环节之计算机教案,自主互助型课堂教学模式实施方案

    自主互助型课堂教学模式实施方案 自去年我校倡导的自主互助课堂学习型课堂以来,在实践过程中,我们英语教研组细心研究,在自主预习和自主学习习惯养成方面作了以下三个方面的尝试: 新课程理念下的预习是形式多样 ...

  5. 计算机网络安全等级保护制度,网络安全等级保护及实施方案.doc

    网络安全等级保护及实施方案 网络安全等级保护及实施方案 摘 要 在实践中各种信息安全问题频发给整个网络安全带来了不小的安全隐患,对此就要通过网络安全等级保护方式,提升整个计算机网络的安全性和可控制性, ...

  6. Pbidea库关于PB核心代码保护的一个方案

    Pbidea库关于PB核心代码保护的一个方案 我们写程序,总是希望自己的代码不容易被别人破解,有一定安全性.尤其是用PB写CS程序,如果代码被pbkiller之类的工具轻易反编译了,数据连接等信息.加 ...

  7. php源代码保护——PHP加密方案分析解密还原

    前言 php是一种解释型脚本语言. 与编译型语言不同,php源代码不是直接翻译成机器语言.而是翻译成中间代码(OPCODE) ,再由解释器(ZEND引擎)对中间代码进行解释运行 . 在php源代码的保 ...

  8. 【网络安全】php源代码保护——PHP加密方案分析解密还原

    前言 php是一种解释型脚本语言.与编译型语言不同,php源代码不是直接翻译成机器语言.而是翻译成中间代码(OPCODE) ,再由解释器(ZEND引擎)对中间代码进行解释运行 . 在php源代码的保护 ...

  9. AIX下删除LV后的现场保护和数据恢复方案

    在AIX环境下,因维护误操作.存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的.删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度.如何有效保护现场,并选 ...

最新文章

  1. POJ3272 Cow Traffic
  2. html标签思维导图
  3. python爬音乐评论生成词云图_python爬虫+词云图,爬取网易云音乐评论
  4. CNN应用之SPP(基于空间金字塔池化的卷积神经网络物体检测)-ECCV 2014-未完待续
  5. 一个在线编写前端代码的好玩的工具
  6. 数据湖元数据服务的实现和挑战
  7. 公司的Java框架应具备的通用功能
  8. 2015计算机考研重点,2015考研计算机复习:数据结构重点归纳_跨考网
  9. LAMP 补充----非原创
  10. 【运动学】基于matlab匀变速直线运动规律【含Matlab源码 978期】
  11. ADB工具使用教程(新手总结笔记)
  12. 设计模式 - 抽象工厂模式
  13. Word引用参考文献
  14. Linux下编译链接动态库符号问题
  15. 让你的应用支持新iPad的Retina显示屏
  16. 如何入门嵌入式?ARM嵌入式开发板学习方法步骤
  17. 优化GNU/Linux桌面安装的九个步骤
  18. win7 查看网络计算机和设备,WIN7 网络发现已关闭 网络计算机和设备不可见
  19. 如何用MFC画出直线、虚线、折线、圆、椭圆、矩形、弧形(附上源码)
  20. [组合数学] 容斥原理polya定理

热门文章

  1. python爬虫之xpath的following-sibling用法
  2. Android 直播、短视频平台第三方宝宝特效SDK接入方式
  3. FancyBox参数详解
  4. swiper中禁止鼠标手动滑动
  5. 学习记录- namp
  6. 快递轨迹第三方接口接入(快递鸟)
  7. wps如何插入Word里的行前小黑圆点
  8. 随笔:道路载荷谱转台架试验工况_ Review
  9. Android仿华为系统升级进度条的实现
  10. 下载速率(上行速率)和上传速率(下行速率)