吉比特无源光网络终端升级中异常情况的保护方法及系统的制作方法

文档序号:7718281阅读:234来源:国知局
专利名称:吉比特无源光网络终端升级中异常情况的保护方法及系统的制作方法
技术领域
本发明涉及吉比特无源光网络(GPON,Gigabit Passive Optical Network)技术, 尤其涉及GPON终端升级中异常情况的保护方法及系统。
背景技术
随着宽带接入技术的发展,GPON技术作为一种点对多点的光网络接入技术,正逐 渐成为宽带接入技术的研究热点。图1为一种典型GPON系统的网络拓扑结构,如图1所示,在GPON系统中主要 由光线路终端(0LT,Optical Line Terminal)、光分配网络(ODN, OpticalDistribution Network)以及光网络单元/光网络终端(0NU/0NT,Optical NetworkUnit/Optical Network Terminal)组成。其中,0NU/0NT是用户端设备,在空间位置上位于用户处,所以一般较为分 散。因此,对0NU/0NT的远程升级,就成为整个GPON系统维护中一个不可缺少的功能。G. 984. 4标准为GPON系统中0NU/0NT的ONT管理和控制接口(0MCI,ONT Management and Control Interface)方式远程升级定义了统一的流程及方式。图2为依据G. 984. 4标准细化的0NU/0NT升级流程相关的时序图。从图2中可 以看出,前后消息之间以及0NU/0NT自身升级步骤之间的关联性较强,一旦某个消息的时 序错乱或者某个步骤出错都将对整个升级流程产生不可预知的影响,甚至导致用户网络瘫 痪。尤其在图中标注的A、B、C以及D处,由于这几处与OLT交互的信息较多且为升级状态 迁移的关键点,加之0NU/0NT执行的动作比较频繁,因此,出现异常情况的几率非常高。如上所述,由于0NU/0NT本身具有地域分散的特点,加之其作为用户接入终端的 重要性,0NU/0NT升级的成功与否,直接关系着该终端甚至用户网络能否正常运行。因此, 如何提高0NU/0NT升级的成功率和准确度就成为亟待解决的问题。

发明内容
有鉴于此,本发明的主要目的在于提供一种GPON终端OMCI方式升级中异常情况 的保护方法和系统,在保证正确响应标准所定义的OLT各类升级命令的同时,提高0NU/0NT 升级的成功率和准确度。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种吉比特无源光网络(GPON)终端升级中异常情况的保护方法, 该方法包括对下载至GPON终端的新版本文件依次进行完整性、正确性以及有效性的判断处 理,烧写新版本文件;根据光线路终端(OLT)的激活流程确定对新版本的校验,完成GPON终端新版本的升级。上述方案中,所述新版本文件完整性的分析具体包括保存新版本文件的大小,并 设置新版本文件下载完整标记为否;在收到下载完成通知后判断所下载的新版本文件的大小是否与保存的新版本文件大小相同,若判断为相同,则设置新版本数据下载完整标记为 是,认为下载的新版本文件完整,若判断为不相同,则确认新版本文件的数据不完整,应答 OLT下载错误,GPON终端结束当前流程。上述方案中,所述新版本文件有效性的分析具体包括根据GPON终端所允许的待 烧写新版本文件的最大值确定待烧写的新版本文件大小适用;根据文件中的幻数确定新版 本文件合法性;对新版本文件内核区数据进行校验,初步确定新版本文件的数据无丢失或 篡改;再对新版本文件系统区数据进行校验,进一步确定新版本文件的数据无丢失或篡改。上述方案中,所述烧写新版本文件,进一步包括每烧写一个数据段,就休眠一次。上述方案中,所述烧写新版本文件完成之后,进一步包括根据烧写完成后给出的 函数结果判断烧写是否成功。上述方案中,所述对新版本的校验具体包括执行来自OLT的激活命令,对新版本 内核区数据进行校验,初步确定新版本文件的数据完整;对新版本文件系统区数据进行校 验,进一步确定新版本文件的数据完整;根据内核挂载的结果初步确定新版本文件能够正 常工作;再根据系统文件挂载的结果进一步确定新版本文件能够正常工作并使新版本正确 成为重新引导的加载项。上述方案中,该方法进一步包括判断非激活分区的数据是否有效,如果是,则上 报OLT非激活分区版本文件有效,如果不是,则上报OLT非激活分区版本文件无效。本发明还提供了一种吉比特无源光网络终端升级中异常情况的保护系统,包括存 储模块,该系统还包括分析模块、烧写模块以及校验模块;其中,存储模块,用于保存OLT发送的新版本文件;分析模块,用于对存储模块保存的新版本文件依次进行的完整性、正确性以及有 效性分析,并在判定新版本文件完整、正确以及有效时,触发烧写模块;烧写模块,用于烧写新版本文件,烧写完成后,触发校验模块;校验模块,用于根据OLT的激活流程确定对新版本进行校验,完成GPON终端新版 本的升级。上述方案中,所述分析模块包括分析模块一和分析模块二 ;其中,分析模块一,用于判断存储模块保存的新版本文件是否完整及正确,并根据判断 的结果相应的应答0LT,并在判定新版本文件完整及正确时,触发分析模块二 ;分析模块二,用于进一步新判断版本文件是否有效,并根据判断的结果相应的应 答0LT,并在判定新版本文件有效时,触发烧写模块。上述方案中,所述校验模块包括校验模块一、加载模块以及校验模块二 ;其中,校验模块一,用于根据烧写模块烧写新版本文件的结果,判断烧写是否成功,并根 据判断的结果相应的应答0LT,并在判定新版本烧写成功时,触发加载模块;加载模块,用于根据OLT发送的激活命令,将校验模块一判断烧写成功的新版本 进行加载,加载过程中,触发校验模块二 ;校验模块二,用于根据加载模块对新版本加载的结果,判断新版本是否加载成功。上述方案中,所述系统进一步包括判断模块,用于根据校验模块二判断新版本加 载成功,进一步判断加载的新版本是否有效,并根据判断的结果相应的应答0LT。本发明提供的方案,通过设置下载完整标记可以确保准确判断OLT端下载数据的完整性;通过比较版本数据的32位循环冗余校验(CRC32)值,可以保证下载数据的正确性; 通过对版本文件大小以及文件中的幻数的判断,确定了所下载的版本文件是合法的版本; 通过内核区数据及文件系统区数据的CRC校验,进一步确定了所下载的版本文件的数据不 存在丢失或篡改的情况,即保证了版本文件的有效性,提高了 0NU/0NT升级的成功率和准 确度,进而提高0NU/0NT的可维护性和健壮性。本发明的烧写流程,采用烧写一个数据段就休眠一次的方式,通过休眠的方式让 出了部分CPU的时间片,进而使得负责与OLT相互交互的进程能够顺利及时的应答0LT,以 维持交互链路的正常进行。本发明的方案,在烧写完成后进一步判断烧写是否成功,保证了激活命令的顺利 执行,确保0NU/0NT可以成功加载新版本。本发明的方案,在加载新版本的过程中对新版本内核区数据和文件系统区数据进 行了完整性分析,并对每一步加载进行判断,进一步保证了新版本加载的成功性。本发明的方案,同时还对非激活分区的数据进行有效性的分析,避免了在后续系 统运行中当OLT要求0NU/0NT切换工作版本时出现一个版本无效的异常情况发生。


图1为典型GPON系统的网络拓扑结构示意图;图2为依据G. 984. 4标准细化的0UT/0NT升级流程相关的时序图;图3为本发明GPON终端升级中异常情况的保护方法流程图;图4为实现图3所示流程图中步骤302的下载版本数据是否完整及正确的判断方 法流程图;图5为实现图3所示流程图中步骤303的方法流程图;
图6为实现图3所示流程图中步骤304的方法流程图;图7为实现图3所示流程图中步骤308的方法流程图;图8为本发明GPON终端升级中异常情况的保护系统结构示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。本发明实现GPON终端升级中异常情况的保护方法如图3所示,包括以下步骤步骤301 :0NU/0NT接到来自OLT的下载结束(End download)命令,0NU/0NT结束 下载并保存版本文件。步骤302 :0NU/0NT判断下载的版本文件是否完整及正确,如果完整并正确,则执 行步骤303,同时应答OLT设备忙;如果不完整或不正确,则应答OLT命令处理错误,结束当 前处理流程。步骤303 :0NU/0NT准备烧写版本文件,启动烧写程序,进一步判断待烧写版本文 件是否有效,如果有效,则执行步骤304 ;如果无效,则以文件非法结束烧写流程,结束当前 处理流程。步骤304 :0NU/0NT烧写版本文件,同时以设备忙应答OLT的Enddownload命令。步骤305 :0NU/0NT判断版本文件烧写是否成功,如果成功,则执行步骤306,同时应答OLT成功;如果不成功,则应答OLT失败,并结束当前处理流程;这里,版本文件烧写完 成后会直接给出表示烧写成功的函数结果或表示不成功的函数结果。步骤306 :0NU/0NT接到来自OLT的激活(Active)命令,判断目标版本文件是否为 新更新的版本,如果目标版本文件为新更新的版本,则进一步根据烧写完成后给出的函数 结果判断新更新的版本文件是否烧写成功,如果成功,则应答OLT成功,执行Active命令, 并执行步骤307,如果不成功,则应答OLT失败,结束当前处理流程;如果目标版本文件不是 新更新的版本,则应答OLT成功,执行Active命令,并结束当前处理流程。步骤307 从目标版本分区重新引导(reboot)和加载版本。步骤308 判断新版本文件的加载是否成功并使新版本正确成为reboot的加载 项,如果成功,则结束当前处理流程;如果不成功,更改启动(boot)引导项,回滚至旧版本, 并结束处理流程。其中,所述方法还可以进一步包括步骤309:进一步判断非激活分区版本是否有 效,如果是,则上报OLT非激活分区版本文件有效,结束当前处理流程;如果不是,则上报 OLT非激活分区版本文件无效,结束当前处理流程;这里,根据G. 984. 4标准,0NU/0NT自身 有两个可以使用的版本文件,因此,除了新更新的版本文件外,在另一个区还存放着一个可 以使用的版本文件,称之为旧版本文件,相应的,存放旧版本文件的区称之为非激活分区版 本。其中,步骤302中下载的新版本文件是否完整以及正确的判断方法如图4所示,包 括以下步骤步骤401 :0NU/0NT 收到 End download 命令。步骤402 :0NU/0NT判断新版本文件是否下载完整,如果是,则执行步骤403,如果 不是,则判断新版本文件的数据不完整,应答OLT下载错误,0NU/0NT结束当前流程,并忽略 OLT后续可能下传的版本文件数据。这里,判断新版本文件下载是否完整具体为在开始下载时,0NU/0NT保存命令 中版本文件的大小(VersionSize),并设置版本文件下载完整标记QntegralityFlag)为 否(False);收到End download命令后计算所下载的新版本文件的VersionSize,并与预 先保存的VersionSize进行比较,根据比较的结果进行判断,如果二者大小相同,则设置 htegralityFlag为是(True),表明新版本文件下载完整;如果二者大小不相同,则设置 IntegralityFlag为i^alse,表明新版本文件下载不完整。步骤403 :0NU/0NT进一步判断下载新版本文件是否通过CRC32校验,如果通过, 则表明下载的新版本文件数据正确,启动烧写版本流程,应答OLT当前设备忙;如果没有通 过,则表明下载的新版本文件数据不正确,应答OLT命令处理错误,0NU/0NT结束当前流程, 并忽略OLT后续可能下传的版本文件数据。这里,0NU/0NT计算本地新版本文件的CRC32值时,以0NU/0NT收到Mart download命令中新版本文件的大小,结合收到版本数据为计算CRC32值的参数,而不是以 实际传输中接收到的实际新版本文件大小为依据;OLT下发End download命令的同时,告知0NU/0NT所下载的版本文件的CRC32值, 将0NU/0NT本地版本文件的CRC32值与告知的所下载的版本文件的CRC32值相比较,如果 一致,则表明下载的新版本文件数据正确;如果不一致,表明下载的新版本文件数据不正确。其中,如图5所示,步骤303具体可以为步骤501 :0NU/0NT准备烧写版本文件。步骤502 :0NU/0NT读取系统的环境变量,获取0NU/0NT所允许的待烧写新版本文 件大小的最大值;这里,0NU/0NT所允许的待烧写新版本文件大小的最大值具体是指0NU/0NT的闪 存(Flash)所容许存放的版本文件的最大空间(VerSizeMax)。步骤503 :0NU/0NT判断待烧写的新版本文件的大小是否不大于VerSizeMax,确定 待烧写的新版本文件大小是否适用,如果不大于,则执行步骤504;如果大于,则以文件非 法结束烧写流程。步骤504 :0NU/0NT探测待烧写的新版本文件,进一步判断是否能够探测到幻数 (Magic number),确定新版本文件是否合法,如果能够探测到,则执行步骤505 ;如果不能探 测到,则以文件非法结束烧写流程。这里,幻数,保存于下载新版本文件的文件头中,是用于检查版本文件是否合法的 特殊的固定格式的数据。步骤505 :0NU/0NT判断待烧写新版本文件内核区数据段的校验是否正确,初步确 定新版本文件的数据是否无丢失或篡改,如果正确,则执行步骤506 ;如果不正确,则以文 件非法结束烧写流程;这里,内核区数据段的校验具体为根据新版本文件内核区数据的信息计算新版 本文件内核区数据段的CRC值,并与保存的内核区数据段的CRC进行校验,如果一致,表明 校验正确,如果不一致,则表明校验校验不正确;内核区数据段的CRC校验码保存于下载新 版本文件的文件头中。步骤506 :0NU/0NT判断待烧写新版本文件的文件系统区数据段校验是否正确,进 一步确定新版本文件的数据是否无丢失或篡改,如果正确,则表明版本文件有效,开始烧写 版本;如果不正确,则以文件非法结束烧写流程。这里,文件系统区数据段校验具体为根据新版本文件系统区数据的信息计算文 件系统区数据段的CRC值,并与保存的文件系统区数据段的CRC值进行校验,如果一致,表 明校验正确,如果不一致,则表明校验校验不正确;其中,文件系统区数据段的CRC校验码 保存于下载新版本文件的文件头中。其中,如图6所示,步骤304具体为步骤601 :0NU/0NT烧写新版本文件的数据段;这里,一个数据段的大小依据CPU主频、0NU/0NT与OLT交互超时时长以及Flash 性能等实际环境进行设定。步骤602 :0NU/0NT判断是否完成一个数据段的写操作,如果完成,则执行步骤 603;如果未完成,则执行步骤601,继续当前数据段的写操作。步骤603 :0NU/0NT根据烧写完成后给出的函数结果进一步判断新版本文件是否 烧写完成,如果是,则退出烧写流程;如果不是,则休眠该进程。这里,休眠时长依据CPU主频、0NU/0NT与OLT交互超时时长以及Flash性能等实 际环境进行设定。
其中,如图7所示,步骤308具体可以为步骤701 :0NU/0NT执行来自OLT的Active命令,开始加载新版本。步骤702 :0NU/0NT检查新版本内核区数据并判断内核区数据是否完整,如果是, 则执行步骤703,否则,则更改boot引导项,回滚至旧版本;这里,所述判断内核区数据是否完整具体为根据新版本内核区数据的信息计算 新版本内核区数据段的CRC值,并与新版本携带的内核区数据段的CRC进行校验,如果一 致,表明校验正确,如果不一致,则表明校验不正确。步骤703 :0NU/0NT进一步检查新版本文件系统区数据并判断文件系统区数据是 否完整,如果是,则执行步骤704 ;否则,则更改boot引导项,回滚至旧版本;这里,所述判断文件系统区区数据是否完整具体为根据新版本文件系统区数据 的大小计算文件系统区数据段的CRC值,并与新版本携带的文件系统区数据段的CRC值进 行校验,如果一致,表明校验正确,如果不一致,则表明校验不正确。步骤704 0NU/0NT挂载新版本内核。步骤705 :0NU/0NT判断内核是否挂载成功,如果成功,则执行步骤706 ;否则,则更 改boot引导项,回滚至旧版本;这里,所述判断内核是否挂载成功可以从监控系统直接得到。步骤706 :0NU/0NT挂载新版本文件系统。步骤707 :0NU/0NT判断新版本文件系统是否挂载成功并使新版本正确成为 reboot的加载项,如果成功,则结束当前处理流程;否则,则更改boot引导项,回滚至旧版 本;这里,所述判断文件系统是否挂载成功可以从监控系统直接得到。。以上所述方案中的0NU/0NT可以统称为GPON终端。基于上述方法,如图8所示,本发明GPON终端升级中异常情况的保护系统包括存 储模块81、分析模块82、烧写模块83、校验模块84 ;其中,存储模块81,用于保存OLT发送的新版本文件,一般为闪存(flash)或者内存堆栈 区;分析模块82,用于对存储模块81保存的新版本文件依次进行的完整性、正确性以 及有效性分析,并在判定新版本文件完整、正确以及有效时,触发烧写模块83;烧写模块83,用于烧写新版本文件,并应答OLT设备忙,烧写完成后,触发校验模 块84 ;校验模块84 用于根据OLT的激活流程确定对新版本进行校验,完成GPON终端新 版本的升级。其中,分析模块82包括分析模块一,用于判断存储模块81保存的新版本文件是否完整及正确,并根据判 断的结果相应的应答0LT,并在判定新版本文件完整及正确时,触发分析模块二;分析模块二,用于进一步新判断版本文件是否有效,并根据判断的结果相应的应 答0LT,并在判定新版本文件有效时,触发烧写模块83。其中,校验模块84包括校验模块一,用于根据烧写模块83烧写新版本的结果,判断烧写是否成功,并根据判断的结果相应的应答0LT,并在判定新版本烧写成功时,触发加载模块;加载模块,用于根据OLT发送的Active命令,将校验模块一判断烧写成功的新版 本进行加载,加载过程中,触发校验模块二 ;校验模块二,用于根据加载模块对新版本加载的结果,判断新版本是否加载成功。其中,所述装置还可以包括判断模块85,用于根据校验模块二判断新版本加载成 功,判断非激活区的版本是否有效,并根据判断的结果相应的应答0LT。其中,所述分析模块一具体用于根据设置的VersionSize,判断新版本文件的完 整性,再根据完整的新版本文件,进行CRC32校验,判断新版本文件的正确性。所述分析模块二具体用于首先,根据Flash所容许存放的版本的VerSizeMax确 定待烧写的新版本文件大小适用;接着,根据文件的幻数确定新版本文件适用;然后,对新 版本文件内核区数据进行校验,确定新版本文件的数据无丢失或篡改;再对新版本文件系 统区数据进行校验,进一步确定新版本文件的数据无丢失或篡改。所述烧写模块83具体用于烧写新版本文件,每完成新版本文件一个数据段的烧 写,就休眠一次。所述判校验模块二具体用于首先,对新版本内核区数据进行校验,确定新版本 的数据完整;接着,对新版本文件系统区数据进行校验,进一步确定新版本的数据完整;然 后,根据内核挂载的结果确定新版本可以工作;再根据系统文件挂载的结果进一步确定新 版本文件可以正常工作。这里,本发明的所述装置中的各个单元的具体处理过程已在上文中详述,不再赘 述。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护 范围之内。
权利要求
1.一种吉比特无源光网络(GPON)终端升级中异常情况的保护方法,其特征在于,该方 法包括对下载至GPON终端的新版本文件依次进行完整性、正确性以及有效性的判断处理,烧 写新版本文件;根据光线路终端(OLT)的激活流程确定对新版本的校验,完成GPON终端新版本的升级。
2.根据权利要求1所述的方法,其特征在于,所述新版本文件完整性的分析具体包括 保存新版本文件的大小,并设置新版本文件下载完整标记为否;在收到下载完成通知后判 断所下载的新版本文件的大小是否与保存的新版本文件大小相同,若判断为相同,则设置 新版本数据下载完整标记为是,认为下载的新版本文件完整,若判断为不相同,则确认新版 本文件的数据不完整,应答OLT下载错误,GPON终端结束当前流程。
3.根据权利要求1所述的方法,其特征在于,所述新版本文件有效性的分析具体包括 根据GPON终端所允许的待烧写新版本文件的最大值确定待烧写的新版本文件大小适用; 根据文件中的幻数确定新版本文件合法性;对新版本文件内核区数据进行校验,初步确定 新版本文件的数据无丢失或篡改;再对新版本文件系统区数据进行校验,进一步确定新版 本文件的数据无丢失或篡改。
4.根据权利要求1所述的方法,其特征在于,所述烧写新版本文件,进一步包括每烧 写一个数据段,就休眠一次。
5.根据权利要求1至4任一所述的方法,其特征在于,所述烧写新版本文件完成之后, 进一步包括根据烧写完成后给出的函数结果判断烧写是否成功。
6.根据权利要求1至4任一所述的方法,其特征在于,所述对新版本的校验具体包括 执行来自OLT的激活命令,对新版本内核区数据进行校验,初步确定新版本文件的数据完 整;对新版本文件系统区数据进行校验,进一步确定新版本文件的数据完整;根据内核挂 载的结果初步确定新版本文件能够正常工作;再根据系统文件挂载的结果进一步确定新版 本文件能够正常工作并使新版本正确成为重新引导的加载项。
7.根据权利要求1至4任一所述的方法,其特征在于,该方法进一步包括判断非激活 分区的数据是否有效,如果是,则上报OLT非激活分区版本文件有效,如果不是,则上报OLT 非激活分区版本文件无效。
8.—种吉比特无源光网络终端升级中异常情况的保护系统,包括存储模块,其特征在 于,该系统还包括分析模块、烧写模块以及校验模块;其中,存储模块,用于保存OLT发送的新版本文件;分析模块,用于对存储模块保存的新版本文件依次进行的完整性、正确性以及有效性 分析,并在判定新版本文件完整、正确以及有效时,触发烧写模块;烧写模块,用于烧写新版本文件,烧写完成后,触发校验模块;校验模块,用于根据OLT的激活流程确定对新版本进行校验,完成GPON终端新版本的 升级。
9.根据权利要求8所述的系统,其特征在于,所述分析模块包括分析模块一和分析模 块二;其中,分析模块一,用于判断存储模块保存的新版本文件是否完整及正确,并根据判断的结果相应的应答0LT,并在判定新版本文件完整及正确时,触发分析模块二;分析模块二,用于进一步新判断版本文件是否有效,并根据判断的结果相应的应答 0LT,并在判定新版本文件有效时,触发烧写模块。
10.根据权利要求8或9所述的系统,其特征在于,所述校验模块包括校验模块一、加 载模块以及校验模块二 ;其中,校验模块一,用于根据烧写模块烧写新版本文件的结果,判断烧写是否成功,并根据判 断的结果相应的应答0LT,并在判定新版本烧写成功时,触发加载模块;加载模块,用于根据OLT发送的激活命令,将校验模块一判断烧写成功的新版本进行 加载,加载过程中,触发校验模块二 ;校验模块二,用于根据加载模块对新版本加载的结果,判断新版本是否加载成功。
11.根据权利要求10所述的系统,其特征在于,所述系统进一步包括判断模块,用于根 据校验模块二判断新版本加载成功,进一步判断加载的新版本是否有效,并根据判断的结 果相应的应答OLT。
全文摘要
本发明公开了一种吉比特无源光网络终端升级中异常情况的保护方法,包括对下载至GPON终端的新版本文件依次进行完整性、正确性以及有效性的判断处理,烧写新版本文件;根据OLT的激活流程确定对新版本的校验,完成GPON终端新版本的升级。本发明还同时公开了一种吉比特无源光网络终端升级中异常情况的保护系统,采用该方法和系统能提高GPON终端远程升级的稳定性,进而提升了GPON终端系统的可维护性和健壮性。
文档编号H04L12/24GK102118258SQ20091021752
公开日2011年7月6日 申请日期2009年12月31日 优先权日2009年12月31日
发明者张阳春 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1