CN115396758B - 一种olt通过omci升级onu的方法和系统 - Google Patents
一种olt通过omci升级onu的方法和系统 Download PDFInfo
- Publication number
- CN115396758B CN115396758B CN202211342277.3A CN202211342277A CN115396758B CN 115396758 B CN115396758 B CN 115396758B CN 202211342277 A CN202211342277 A CN 202211342277A CN 115396758 B CN115396758 B CN 115396758B
- Authority
- CN
- China
- Prior art keywords
- onu
- state
- upgrade
- omci
- onus
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000003287 optical effect Effects 0.000 title description 11
- 230000004044 response Effects 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000005012 migration Effects 0.000 claims description 11
- 238000013508 migration Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 2
- 230000009471 action Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q11/0067—Provisions for optical access or distribution networks, e.g. Gigabit Ethernet Passive Optical Network (GE-PON), ATM-based Passive Optical Network (A-PON), PON-Ring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0079—Operation or maintenance aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
一种OLT通过OMCI升级ONU的方法和系统,涉及通信技术领域,包括如下步骤:S1、在OLT中创建单个升级线程;S2、创建多个与每个ONU一一对应的状态机;S3、OLT给第一台ONU发送开始下载消息后等待ONU响应,并在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;通过单个升级线程接收用于多个ONU升级的OMCI消息,基于OMCI消息中的ponid和onuid识别OMCI消息对应的ONU,该OMCI消息则进入对应的ONU对应的状态机中处理,提高升级速度,提高了升级效率。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种OLT通过OMCI升级ONU的方法和系统。
背景技术
在无源光网络系统中,OLT(光线路终端)通过OMCI(光网络单元管理控制接口)协议管理ONU(光网络单元)设备,OLT可以通过OMCI协议配置ONU,这其中就包括对ONU进行升级。
现有技术中,对ONU进行升级的方法是串行升级,其中,串行升级是指一个OMCI包发给ONU,等待响应之后会把同一个包发给下一个ONU,直到这个包发送给所有ONU后才会发送下一个OMCI包,在对OLT下挂多个ONU升级时,采用串行升级方法升级ONU会这部分等待时间使得完成多个ONU升级的时间大大延长,如何解决在对OLT下挂多个ONU升级时,减少升级时间是本领域技术人员亟待解决的技术问题。
发明内容
(一)申请目的
有鉴于此,本申请的目的在于提供一种OLT通过OMCI升级ONU的方法和系统,用于解决在对OLT下挂多个ONU升级时,减少升级时间的技术问题。
(二)技术方案
本申请公开了一种OLT通过OMCI升级ONU的方法,包括如下步骤:
S1、创建单个升级线程,所述单个升级线程接收用于多个ONU升级的OMCI消息,所述OMCI消息包括ponid和onuid,所述ponid和onuid用于识别所述OMCI消息对应的ONU;
S2、创建多个与每个ONU一一对应的状态机,所述状态机用于ONU升级过程中区分不同状态;所述不同状态包括升级失败状态、升级成功状态、开始下载状态、下载升级文件状态、下载完成状态、等待下载完成响应及响应处理状态、软件激活状态、重启ONU状态;
S3、OLT给第一台ONU发送开始下载消息后等待ONU响应,并在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;所述单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU对应的状态机中处理,所述对应的状态机基于该所述OMCI消息进行不同状态之间的状态迁移。
在一种可能的实施方式中,所述单个升级线程接收用于多个ONU升级的OMCI消息包括所述单个升级线程中有一个消息队列接收函数用于接收用于多个ONU升级的OMCI消息。
在一种可能的实施方式中,步骤S3还包括在下载消息交换过程的初始时,OLT提出一个第一窗口大小,所述多个ONU中每个ONU规定一个第二窗口大小,所述第二窗口大小小于所述第一窗口大小,OLT接受所述第二窗口大小,OLT基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息。
在一种可能的实施方式中,当基于比所述第二窗口大小更少的窗口的消息发送失败,回到所述第二窗口大小更少的窗口的开头重新发送。
在一种可能的实施方式中,所述步骤还包括每个ONU基于所述ponid和onuid创建用于存储升级所需数据的结构体,所述结构体用于保存每个ONU存储升级所需的数据。
作为本申请的第二方面,还提供了一种OLT通过OMCI升级ONU的系统,包括线程创建模块、状态机创建模块和升级模块;其中,所述线程创建模块用于在OLT中创建单个升级线程,所述单个升级线程接收用于多个ONU升级的OMCI消息,所述OMCI消息包括ponid和onuid,所述ponid和onuid用于识别所述OMCI消息对应的ONU;所述状态机创建模块用于创建多个与每个ONU一一对应的状态机,所述状态机用于ONU升级过程中区分不同状态;所述不同状态包括升级失败状态、升级成功状态、开始下载状态、下载升级文件状态、下载完成状态、等待下载完成响应及响应处理状态、软件激活状态、重启ONU状态;所述升级模块用于OLT给第一台ONU发送开始下载消息后等待ONU响应,并在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;所述单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU对应的状态机中处理,所述对应的状态机基于该所述OMCI消息进行不同状态之间的状态迁移。
在一种可能的实施方式中,所述单个升级线程接收用于多个ONU升级的OMCI消息包括所述单个升级线程中有一个消息队列接收函数用于接收用于多个ONU升级的OMCI消息。
在一种可能的实施方式中,升级模块3还包括窗口大小确定单元,所述窗口大小确定单元用于在下载消息交换过程的初始时,OLT提出一个第一窗口大小,所述多个ONU中每个ONU规定一个第二窗口大小,所述第二窗口大小小于所述第一窗口大小,OLT接受所述第二窗口大小,OLT基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息。
在一种可能的实施方式中,当基于比所述第二窗口大小更少的窗口的消息发送失败,回到所述第二窗口大小更少的窗口的开头重新发送。
在一种可能的实施方式中,所述系统还包括存储创建模块,所述存储创建模块用于每个ONU基于所述ponid和onuid创建用于存储升级所需数据的结构体,所述结构体用于保存每个ONU存储升级所需的数据。
(三)有益效果
通过单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU对应的状态机中处理,提高升级速度,提高了升级效率。
本申请的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本申请的实践中得到教导。本申请的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本申请,而不能理解为对本申请的保护范围的限制。
图1是本申请系统流程图;
图2为本申请系统结构图;
其中:1、线程创建模块;2、状态机创建模块;3、升级模块;4、存储创建模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的分配来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的上述描述中,需要说明的是,术语“一侧”、“另一侧”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,本实施例提供了一种OLT通过OMCI升级ONU的方法,包括如下步骤:
S1、在OLT中创建单个升级线程,所述单个升级线程接收用于多个ONU升级的OMCI消息,所述OMCI消息包括ponid和onuid,所述ponid和onuid用于识别所述OMCI消息对应的ONU;所述单个升级线程接收用于多个ONU升级的OMCI消息包括所述单个升级线程中有一个消息队列接收函数用于接收用于多个ONU升级的OMCI消息,消息队列的接收消息类型为0。创建单个升级线程避免过多线程会造成CPU开销过大,而影响到其他功能,且升级功能并不常用。
S2、创建多个与每个ONU一一对应的状态机,所述状态机用于ONU升级过程中区分不同状态;所述不同状态包括升级失败状态(UPGRADE_STATE_ERR)、升级成功状态(UPGRADE_STATE_OK)、开始下载状态(UPGRADE_STATE_START_DOWNLOAD)、下载升级文件状态(UPGRADE_STATE_DOWNLOAD_SECTION)、下载完成状态(UPGRADE_STATE_END_DOWNLOAD)、等待下载完成响应及响应处理状态(UPGRADE_STATE_DOWNLOAD_SECTION_TIME_WAIT)、软件激活状态(UPGRADE_STATE_ACTION)、重启ONU状态(UPGRADE_STATE_REBOOT)。
S3、OLT给第一台ONU发送开始下载消息后等待ONU响应,ONU响应在响应后进入下载升级文件状态,并在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;所述单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU对应的状态机中处理,所述对应的状态机基于该所述OMCI消息进行不同状态之间的状态迁移。状态迁移有直接迁移和间接迁移两种方式,直接迁移为改变状态后直接发送空消息到消息队列,等待接收消息后进入状态处理;间接迁移为改变状态后发送OMCI消息等待ONU回应OMCI消息,收到OMCI消息后进入状态处理。
本实施例中,所述步骤S3前还包括创建数据存储步骤,所述创建数据存储步骤包括创建每个ONU基于所述ponid和onuid创建用于存储升级所需数据的结构体,所述结构体用于保存每个ONU存储所述升级所需数据。对于OLT下挂的每个ONU都有一个相同的结构体用于存储升级所需数据,同样使用ponid、onuid区分,结构体如下所示:
typedef struct
{
UINT32 upgradeState;
int errCode;
UINT16 tci;
OMCI_CELL_GENERAL_ST arMsg;
UPGRADE_TIMER_ST timer;
UINT8 timeout;
UINT8 upgrade_window_size_m1;
UINT8 deviceBusyNum;
UINT8 endCount;
UINT32 image_size;
UINT32 image_crc_32;
FILE *fp;
char eqt[GPON_OMCI_EQUIPMENT_ID_LEN+1];
GPON_ONU_VERSION_MATCH_TYPE_e version_match_type;
char version[GPON_OMCI_VERSION_LEN+1];
onu_upgrade_process_info_t upgrade_process_info;
gpon_onu_upgrade_status_t onu_upgrade_status;
gpon_onu_upgrade_result_info_t onu_upgrade_result_info;
}UPGRADE_STATE_DATA_ST;
其中upgradeState存储状态机的当前状态;errCode为出错时的错误码;tci为OMCI包的前2字节的数据;arMsg存储OLT发送的OMCI包;timer为定时器(包含超时时间和定时开始时间);timeoutCount为超时次数;upgrade_window_size_m1为OLT与ONU约定的窗口大小,其中窗口大小小于256;image_crc_32为发送End software download时包含的软件校验值;fp为打开的文件流指针;upgrade_process_info为升级信息,升级信息包括实例号和当前窗口序号;onu_upgrade_status为升级状态,升级状态包括:升级中、升级进度、升级成功和升级失败的状态信息;onu_upgrade_result_info为升级结果,升级结果包含升级结果及失败原因。
将该结构体根据OLT的PON口和每个PON口最大连接的ONU个数定义为一个数组全局变量并初始化为0,可以保证不同ONU的存储数据不会冲突,定义如下所示:
UPGRADE_STATE_DATA_ST g_upgrade_onu_state[GPON_OMCI_MAX_PON_ID][GPON_OMCI_MAX_ONU_ID] = {0}。
本实施例中,不同状态之间的状态迁移包括:将开始下载状态迁移到下载升级文件状态,将下载升级文件状态迁移到下载完成状态,将下载完成状态迁移到等待下载完成响应及响应处理状态,将等待下载完成响应及响应处理状态迁移到软件激活状态或升级失败状态,将软件激活状态迁移到重启ONU状态或升级成功状态,将重启ONU状态迁移到升级成功状态。
将开始下载状态迁移到下载升级文件状态,包括如下步骤:
当准备完成升级需要的数据,如升级文件,升级文件校验码等。
S311、进入状态机处理函数,将状态机的状态直接迁移到开始下载状态。
S312、设置超时次数为0,设置窗口大小;开始下载状态主要发送Start softwaredownload消息,该消息用于协商下载窗口大小,对于下载消息,ONU不会每一个OLT发送的OMCI消息都回应,而是当OLT发送了一个窗口的消息后,ONU回应该窗口的最后一个消息,这样极大地提高了升级效率,文件传输的原子单位是段,即可以在单个载段消息中传输31字节数据,软件下载的最后一部分可以根据需要用空字节填充;许多部分组成了所谓的窗口,一个窗口不能超过256个区段;即下载消息交换过程的初始时,OLT提出一个第一窗口大小,所述多个ONU中每个ONU规定一个第二窗口大小,所述第二窗口大小小于所述第一窗口大小,OLT接受所述第二窗口大小,OLT基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息;OLT会提出一个小于256的大小的窗口,ONU会回复一个小于等于OLT提出的大小,最终以ONU回复的窗口大小为准;虽然OLT不是首选,但它可以以协商好的最大大小发送所有窗口,并使用只包含空填充字节的下载部分消息填充下载操作的最后一个窗口;设置窗口的意义在于,一个窗口包含多个OMCI包,ONU只需要在收到窗口最后一个OMCI包时回复;在每个窗口的最后一个下载段消息的消息类型字段中,OLT通过设置AR(确认请求)位(之前的下载段消息是不确认的)来表示窗口的结束;如果ONU没有正确地接收到整个窗口,也就是说,如果它错过了一个序列号,它就会用一个命令处理错误结果来确认,OLT就会回到窗口的开头,并再次尝试,为了提高成功传播的机会,OLT可以在下一次尝试时选择减小窗口的大小;当成功下载最后一个窗口时,OLT发送结束软件下载消息,结束软件下载消息是升级文件全部发送完成后,OLT会发送一个结束消息,表示文件发送完成,其内容包括下载图像的字节大小,以及根据[ITU-T I.363.5]计算的CRC-32。
S313、发送开始下载消息(Start software download)并设置超时时间为3s;具体的,对于OLT来说,如果超过3秒还没有收到ONU回应的OMCI消息则认为消息超时,进入超时处理。
S314、设置升级状态为升级中。
S315、将状态迁移到下载升级文件状态。
将下载升级文件状态迁移到下载完成状态包含以下步骤:
S321、进入状态处理函数;S322、判断已经下载的数据大小是否大于等于软件镜像大小,是则进入第S326步,否则进入第S323步;S323、判断窗口内区段序列号是否等于窗口大小,是则设置需要ONU应答,否则不需要ONU应答;S324、发送OMCI消息并设置超时时间3s;S325、设置升级状态为升级进度,进入第S321步;S326、状态迁移到下载完成状态。
将下载完成状态迁移到等待下载完成响应及响应处理状态包含以下步骤:
S331、进入状态处理函数;S332、从结构体中读取实例号和升级文件校验码;S333、发送OMCI消息并设置超时时间3s;S334、状态迁移到等待下载完成响应及响应处理状态;
具体的,该状态迁移是结束下载软件的状态,OLT会发送CRC到ONU进行校验,如果ONU正在将软件写入flash中,会回应OLT一个设备忙消息,OLT收到此消息后进入等待下载完成响应及响应处理状态,等待下一次发送End software download消息。
将等待下载完成响应及响应处理状态迁移到软件激活状态或升级失败状态,包括如下步骤:
S341、进入状态处理函数;S342、判断发送结束下载消息的次数是否大于
延时次数,是则进入第S346步,否则进入第S343步;S343、判断接收到的OMCI消息是否是设备忙,是则进入第S345步,否则进入第S344步;S344、状态迁移到软件激活状态;S345、设置超时时间,等待超时之后将状态迁移到下载完成状态;S346、进入升级失败状态。
将软件激活状态迁移到重启ONU状态或升级成功状态,包括如下步骤:
S351、进入状态处理函数;S352、根据升级命令传入的参数确认升级动作,动作为commit进入步骤S353,动作为commit&reboot进入步骤S355,动作为active进入步骤S357;S353、发送commit消息并设置超时消息,进入步骤S354;S354、迁移到升级成功状态,结束;S355、发送commit消息并设置超时消息进入步骤S356;S356、进入重启ONU状态,结束;S357、发送active消息并设置超时时间,进入步骤S358;S358、迁移到升级成功状态,结束。
将重启ONU状态迁移到升级成功状态,包括如下步骤:
S361、进入状态处理函数;S362、获取状态信息;S363、发送reboot消息
并设置超时;S364、状态迁移到“OK状态”,即状态迁移到升级成功状态。
升级成功状态处理流程图,包括如下步骤:
S371、进入状态处理函数;S372、设置升级进度为100%;S373、设置升级
状态为成功(success);S374、关闭打开的文件流指针。
本发明实施例提供的升级失败状态处理流程图,包括如下步骤:
S381、进入状态处理函数;
S382、设置升级失败原因;
S383、设置升级状态为升级失败状态;
S384、关闭打开的文件流指针。
将OMCI消息的发送和接收分为两部分,发送OMCI消息后会将状态迁移到下一个状态,收到OMCI消息后会根据当前状态在状态机表中找到对应的状态处理函数,在状态处理函数中处理完该状态的任务(发送OMCI消息)后就会迁移到下一个状态,等待收到OMCI消息后进入状态处理函数,以此类推。一个ONU进入等待时,其他的ONU可以接收OMCI消息进行状态处理,实现一个宏观上的并行,经测试,串行升级5台ONU共需要15分钟,使用该软件升级ONU仅需4分钟。
通过单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU对应的状态机中处理,提高升级速度,提高了升级效率。
本实施例中,每个下载片段消息都包含一个序列号,该序列号在每个窗口的0处重新开始,通过跟踪递增的序列号,ONU可以确认它确实收到了每一段代码。
本实施例中,当基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息发送失败,回到所述第二窗口大小更少的窗口的开头重新发送。
如图2所示,作为本申请的第二方面,还提供了一种OLT通过OMCI升级ONU的系统,包括线程创建模块1、状态机创建模块2和升级模块3;其中,所述线程创建模块用于创建单个升级线程,所述单个升级线程接收用于多个ONU升级的OMCI消息,所述OMCI消息包括ponid和onuid,所述ponid和onuid用于识别所述OMCI消息对应的ONU;所述状态机创建模块用于创建多个与每个ONU一一对应的状态机,所述状态机用于ONU升级过程中区分不同状态;所述不同状态包括升级失败状态、升级成功状态、开始下载状态、下载升级文件状态、下载完成状态、等待下载完成响应及响应处理状态、软件激活状态、重启ONU状态;所述升级模块用于OLT给第一台ONU发送开始下载消息后等待ONU响应,并在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;所述单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU对应的状态机中处理,所述对应的状态机基于该所述OMCI消息进行不同状态之间的状态迁移。
本实施例中,所述单个升级线程接收用于多个ONU升级的OMCI消息包括所述单个升级线程中有一个消息队列接收函数用于接收用于多个ONU升级的OMCI消息。
本实施例中,升级模块3还包括窗口大小确定单元,所述窗口大小确定单元用于在下载消息交换过程的初始时,OLT提出一个第一窗口大小,所述多个ONU中每个ONU规定一个第二窗口大小,所述第二窗口大小小于所述第一窗口大小,OLT接受所述第二窗口大小,OLT基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息。
本实施例中,当基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息发送失败,回到所述第二窗口大小更少的窗口的开头重新发送。
本实施例中,所述系统还包括存储创建模块4,所述存储创建模块用于每个ONU基于所述ponid和onuid创建用于存储升级所需数据的结构体,所述结构体用于保存每个ONU存储所述升级所需数据。
最后说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或者等同替换,而不脱离本申请技术方案的宗旨和范围,其均应涵盖在本申请的权利要求范围当中。
Claims (10)
1.一种OLT通过OMCI升级ONU的方法,其特征在于,包括如下步骤:S1、在OLT中创建单个升级线程,所述单个升级线程接收用于多个ONU升级的OMCI消息,所述OMCI消息包括ponid和onuid,所述ponid和onuid用于识别所述OMCI消息对应的ONU;
S2、创建多个与每个ONU一一对应的状态机,所述状态机用于ONU升级过程中区分不同状态;所述不同状态包括升级失败状态、升级成功状态、开始下载状态、下载升级文件状态、下载完成状态、等待下载完成响应及响应处理状态、软件激活状态、重启ONU状态;
S3、OLT给第一台ONU发送开始下载消息后等待ONU响应,并在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;所述单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU的对应的状态机中处理,所述对应的状态机基于该所述OMCI消息进行不同状态之间的状态迁移。
2.根据权利要求1所述的一种OLT通过OMCI升级ONU的方法,其特征在于,所述单个升级线程接收用于多个ONU升级的OMCI消息包括所述单个升级线程中有一个消息队列接收函数用于接收用于多个ONU升级的OMCI消息。
3.根据权利要求2所述的一种OLT通过OMCI升级ONU的方法,其特征在于,步骤S3还包括在下载消息交换过程的初始时,OLT提出一个第一窗口大小,所述多个ONU中每个ONU规定一个第二窗口大小,当所述第二窗口大小小于所述第一窗口大小,OLT接受所述第二窗口大小,OLT基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息。
4.根据权利要求3所述的一种OLT通过OMCI升级ONU的方法,其特征在于,当基于比所述第二窗口大小更少的窗口的消息发送失败,回到所述第二窗口大小更少的窗口的开头重新发送。
5.根据权利要求4所述的一种OLT通过OMCI升级ONU的方法,其特征在于,所述步骤还包括每个ONU基于所述ponid和onuid创建用于存储升级所需数据的结构体,所述结构体用于保存每个ONU存储升级所需的数据。
6.一种OLT通过OMCI升级ONU的系统,其特征在于,包括线程创建模块、状态机创建模块和升级模块;其中,所述线程创建模块用于在OLT中创建单个升级线程,所述单个升级线程接收用于多个ONU升级的OMCI消息,所述OMCI消息包括ponid和onuid,所述ponid和onuid用于识别所述OMCI消息对应的ONU;所述状态机创建模块用于创建多个与每个ONU一一对应的状态机,所述状态机用于ONU升级过程中区分不同状态;所述不同状态包括升级失败状态、升级成功状态、开始下载状态、下载升级文件状态、下载完成状态、等待下载完成响应及响应处理状态、软件激活状态、重启ONU状态;所述升级模块用于OLT给第一台ONU发送开始下载消息后等待ONU响应,在OLT等待ONU响应过程中,OLT陆续给其他ONU发送开始下载消息;所述单个升级线程接收用于多个ONU升级的OMCI消息,基于所述OMCI消息中的ponid和onuid识别所述OMCI消息对应的ONU,该所述OMCI消息则进入所述对应的ONU的对应的状态机中处理,所述对应的状态机基于该所述OMCI消息进行不同状态之间的状态迁移。
7.根据权利要求6所述的一种OLT通过OMCI升级ONU的系统,其特征在于,所述单个升级线程接收用于多个ONU升级的OMCI消息包括所述单个升级线程中有一个消息队列接收函数用于接收用于多个ONU升级的OMCI消息。
8.根据权利要求7所述的一种OLT通过OMCI升级ONU的系统,其特征在于,升级模块3还包括窗口大小确定单元,所述窗口大小确定单元用于在下载消息交换过程的初始时,OLT提出一个第一窗口大小,所述多个ONU中每个ONU规定一个第二窗口大小,当所述第二窗口大小小于所述第一窗口大小,OLT接受所述第二窗口大小,OLT基于所述第二窗口大小发送比所述第二窗口大小更少的窗口的消息。
9.根据权利要求8所述的一种OLT通过OMCI升级ONU的系统,其特征在于,当基于比所述第二窗口大小更少的窗口的消息发送失败,回到所述第二窗口大小更少的窗口的开头重新发送。
10.根据权利要求9所述的一种OLT通过OMCI升级ONU的系统,其特征于,所述系统还包括存储创建模块,所述存储创建模块用于每个ONU基于所述ponid和onuid创建用于存储升级所需数据的结构体,所述结构体用于保存每个ONU存储升级所需的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211342277.3A CN115396758B (zh) | 2022-10-31 | 2022-10-31 | 一种olt通过omci升级onu的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211342277.3A CN115396758B (zh) | 2022-10-31 | 2022-10-31 | 一种olt通过omci升级onu的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115396758A CN115396758A (zh) | 2022-11-25 |
CN115396758B true CN115396758B (zh) | 2023-07-28 |
Family
ID=84115028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211342277.3A Active CN115396758B (zh) | 2022-10-31 | 2022-10-31 | 一种olt通过omci升级onu的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396758B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011079632A1 (zh) * | 2009-12-31 | 2011-07-07 | 中兴通讯股份有限公司 | 吉比特无源光网络终端升级中异常情况的保护方法及系统 |
CN105183519A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | Onu软件版本分片升级的装置及方法 |
CN109120419A (zh) * | 2017-06-22 | 2019-01-01 | 中兴通讯股份有限公司 | 光网络单元onu版本的升级方法、装置及存储介质 |
CN112994938A (zh) * | 2021-02-08 | 2021-06-18 | 成都康特电子科技股份有限公司 | 一种光网络单元升级系统及方法 |
-
2022
- 2022-10-31 CN CN202211342277.3A patent/CN115396758B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011079632A1 (zh) * | 2009-12-31 | 2011-07-07 | 中兴通讯股份有限公司 | 吉比特无源光网络终端升级中异常情况的保护方法及系统 |
CN105183519A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | Onu软件版本分片升级的装置及方法 |
CN109120419A (zh) * | 2017-06-22 | 2019-01-01 | 中兴通讯股份有限公司 | 光网络单元onu版本的升级方法、装置及存储介质 |
CN112994938A (zh) * | 2021-02-08 | 2021-06-18 | 成都康特电子科技股份有限公司 | 一种光网络单元升级系统及方法 |
Non-Patent Citations (2)
Title |
---|
10G GPON系统中ONT端OMCI功能的设计与实现;常莹等;《电视技术》;20130102(第01期);全文 * |
基于层次状态机的GPON系统OMCI协议栈的实现;夏斯华;《中国优秀硕士学位论文全文数据库》;20130731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115396758A (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100459499C (zh) | 向以太网无源光网络中的光网络单元发送升级软件的方法 | |
WO2012163093A1 (zh) | 软件升级系统及方法 | |
CN104579719A (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
WO2014005535A1 (zh) | 物联网消息处理方法、装置及系统 | |
CN101573940A (zh) | 用于tcp高可用性的方法和装置 | |
CN111625267B (zh) | 基于uwb通信的程序在线升级系统和方法 | |
JP7345921B2 (ja) | マスタースレーブアーキテクチャのota差分更新方法とシステム | |
WO2010135897A1 (zh) | 一种独占闪存组合设备空中固件升级方法及装置 | |
CN113726579A (zh) | 一种电力物联网通信协议插件的实现方法及装置 | |
CN109450711A (zh) | 分布式系统中主节点的选取方法、装置、系统及存储介质 | |
CN115396758B (zh) | 一种olt通过omci升级onu的方法和系统 | |
US20030231642A1 (en) | Data upgrade method for a switching device in two-layer network environment | |
JP3428538B2 (ja) | アクセス網遠隔制御方式 | |
CN112929331B (zh) | 一种通用的通讯规约实现方法 | |
CN109450719A (zh) | 一种基于lorawan协议的节点升级方法及系统 | |
CN102291303B (zh) | 一种单板及其确定主备状态的方法 | |
CN102868945A (zh) | 一种epon中onu的升级方法 | |
CN109245979A (zh) | 一种CANopen主从站可靠性控制方法及其统筹管理器 | |
CN105282235B (zh) | 一种解决rpc在双pon口onu升级不稳定的方法 | |
CN114625449A (zh) | 一种iOS环境下录屏的控制方法和装置 | |
CN113467811A (zh) | 一种智能柜台终端版本升级系统及其工作方法 | |
CN113890880A (zh) | 一种多节点间的数据同步方法、系统、设备及存储介质 | |
TWI385578B (zh) | Remote test unit automation program real - time update method and system | |
CN113472841B (zh) | 终止远程过程调用请求的实现方法及装置 | |
CN111007753B (zh) | 一种双控制器的主备仲裁方法与装置 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518000 Room 501, block a, building 8, Shenzhen International Innovation Valley, Dashi Road, Xili community, Xili street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Yilian Unlimited Technology Co.,Ltd. Address before: 518000 Room 501, block a, building 8, Shenzhen International Innovation Valley, Dashi Road, Xili community, Xili street, Nanshan District, Shenzhen, Guangdong Patentee before: SHENZHEN COMNECT TECHNOLOGY CO.,LTD. |